이 글에서는 SQL Server에서 문자열, 정수, 실수, 날짜·시간 값 등 리터럴(Literal)을 사용하는 방법을 자세히 안내합니다.
리터럴(Literal)이란?
SQL Server에서 리터럴(Literal)은 프로그램이 임의로 변경할 수 없는 고정값을 의미합니다. 리터럴은 다양한 유형의 값을 가질 수 있으며, 크게 문자열 상수, 정수 상수, 실수 상수, 날짜·시간 상수 네 가지로 나눌 수 있습니다.
문자열 리터럴(String Literal)
문자열 리터럴은 항상 작은따옴표(' ')로 묶어 표현합니다.
'quantrimang.com'
'ABC'
'123'
위 예제처럼 각각의 작은따옴표 쌍 안에 개별적인 문자열이 포함됩니다. 그런데 문자열 내부에 아포스트로피(')가 들어가는 경우도 있습니다. 예를 들면 다음과 같습니다.
'quantrimang.com is very great! It's my favorite site!'
이 예제에서 "It's"라는 단어 안에 아포스트로피가 포함되어 있어, 해당 작은따옴표가 문자열을 닫는 기호로 잘못 인식됩니다. 결과적으로 문장은 아래와 같이 중간에 끊어져 버립니다.
'quantrimang.com is very great! It'
이런 오류를 해결하고 뒤따르는 명령어들이 깨지지 않도록 하려면, 아포스트로피 앞에 동일한 작은따옴표를 하나 더 추가하여 이스케이프(escape) 처리해야 합니다.
'quantrimang.com is very great! It''s my favorite site!'
정수형 리터럴(Integer Literal)
정수 상수에는 음의 정수와 양의 정수가 모두 포함되지만, 소수점 이하 값은 포함되지 않습니다. 별도의 부호를 지정하지 않으면 기본적으로 양수로 처리됩니다. 유효한 정수 상수 표현 예시는 다음과 같습니다.
2018
+2018
-2018
실수형 리터럴(Decimal Literal)
실수 상수는 음수, 양수뿐만 아니라 소수점을 포함한 숫자도 표현할 수 있습니다. 역시 부호를 명시하지 않으면 기본적으로 양수로 간주됩니다. 유효한 실수 상수 표현 예시는 다음과 같습니다.
2018.11
+2018.11
-2018.11
날짜/시간 리터럴(Datetime Literal)
날짜·시간 값 상수는 항상 작은따옴표로 묶어 표현하며, 여러 가지 형식으로 나타낼 수 있습니다.
'November 06, 2018'
'2018/11/06'
'2018/11/06 12:24:48'