본문 바로가기
  • [성공하는 개발자] - Developer

DataBase/MSSQL39

[MSSQL] 문자열 합치기 (CONCAT, +) SQL Server에서 문자열을 합칠 때는 CONCAT 함수와 더하기(+) 연산자를 사용한다. 문자열을 합칠 때는 되도록이면 CONCAT 함수를 사용할 것을 권장하지만, 더하기 연산자를 사용하는 것이 더 익숙하기 때문에 더 많이 사용하는 듯하다. 더하기 연산자를 사용할 때는 주의사항이 있으니 아래를 참고하기 바란다. ■ CONCAT 함수 사용하여 문자열 합치기 SELECT CONCAT('SQL', 'Server', '2019') AS str1 , CONCAT(2021, 12, 31, 23, 59, 59) AS str2 CONCAT 함수는 많은 데이터베이스에서 사용 가능한 ANSI SQL 함수이며, CONCAT 함수에 입력된 값은 문자형으로 변환 후 합치는 작업이 이뤄진다. 숫자와 문자가 함께 입력되어도 .. 2022. 7. 28.
[MSSQL] 문자열 자르기 (SUBSTRING, LEFT, RIGHT) SQL Server에서 문자열을 자르기 위해서는 SUBSTRING, LEFT, RIGHT 세 가지 함수를 사용할 수 있다. 오라클에서는 SUBSTR 함수 하나로 위의 세 가지 함수 기능을 모두 할 수 있지만, SQL Server에서는 위의 세 가지 함수를 적절히 잘 사용해야 한다. SUBSTRING("문자열", "시작위치", "길이") : 지정한 위치에서 지정한 문자열 길이만큼 자를 때 사용 LEFT("문자열", "길이") : 왼쪽에서부터 지정한 문자열의 길이만큼 자를 때 사용 RIGHT("문자열", "길이") : 오른쪽에서부터 지정한 문자열의 길이만큼 자를 때 사용 기본 사용법 ■ SUBSTRING 함수 SELECT SUBSTRING('SQL Server 2019', 1, 3) AS str1 , SUB.. 2022. 7. 25.
[MSSQL] CASE WHEN 표현식 사용법 (DECODE, IF) SQL Server에서는 조건에 따라 서로 다른 값을 반환할 수 있는 CASE 표현식을 사용할 수 있다. 프로그래밍 언어에서 if 문과 비슷하다고 생각하면 된다. 오라클의 DECODE 함수와 비슷한 기능을 하며, CASE 표현식은 ANSI SQL 이므로 대부분의 데이터베이스에서 동일하게 사용할 수 있다. CASE 표현식은 if 문 방식과 swith 문 방식으로 사용할 수 있다. 주로 if 문과 유사한 방식으로 많이 사용하지만 상황에 따라서 swith 문 방식으로 사용하면 쿼리문을 단순화시킬 수도 있을 듯하다. 기본 사용법 ■ if 문 방식 ELECT employee_id , first_name , job_id , CASE WHEN job_id = 13 THEN 'CLERK' WHEN job_id = 14.. 2022. 7. 25.
[MSSQL] 현재시간 GETDATE()와 SYSDATETIME() 차이 SQL Server에서는 현재 날짜와 시간을 가져오기 위해서는 GETDATE 함수를 사용한다. 다른 데이터베이스의 SYSDATE나 NOW() 함수와 비슷하다. SQL Server 2012부터 SYSDATETIME 함수가 추가되었으며 GETDATE 함수보다 더 정밀한 시간을 반환한다. 아래는 두 함수를 간단하게 비교하여 정리한 내용이다. ■ GETDATE() vs SYSDATETIME() SELECT GETDATE() AS [GETDATE] , SYSDATETIME() AS [SYSDATETIME] GETDATE 함수는 datetime 타입의 밀리초(3자리)를 반환한다. SYSDATETIME 함수는 datetime2 타입의 100나노초(7자리)를 반환한다. SYSDATETIME 함수가 조금 더 정밀한 시간.. 2022. 7. 19.