상수(데이터베이스 엔진)

상수란 특정 데이터 값을 나타내는 기호입니다. 상수의 형식은 나타내는 값의 데이터 형식에 따라 다릅니다. 상수는 리터럴이라고도 합니다. 다음 표에서는 상수 사용에 대한 예를 보여 줍니다.

상수 형식

문자열

'O''Brien'

'The level for job_id: %d should be between %d and %d.'

유니코드 문자열

N'Michl'

이진 문자열 상수

0x12Ef

0x69048AEFDD010E

bit 상수

0 또는 1

datetime 상수

'April 15, 1998'

'04/15/98'

'14:30:24'

'04:24 PM'

integer 상수

1894

2

decimal 상수

1894.1204

2.0

float 및 real 상수

101.5E5

0.5E-2

money 상수

$12

$542023.14

uniqueidentifier 상수

0xff19966f868b11d0b42d00c04fc964ff

'6F9619FF-8B86-D011-B42D-00C04FC964FF'

숫자 상수의 경우에는 다음과 같이 숫자 값의 기호를 지정할 때 단항 + 및 - 연산자를 사용합니다.

+$156.45
-73.52E8
-129.42
+442

다음과 같이 COLLATE 절을 사용하여 특정 데이터 정렬을 할당하지 않는 한, 문자열 및 유니코드 상수에는 현재 데이터베이스의 기본 데이터 정렬이 할당됩니다.

'abc' COLLATE French_CI_AI
N'lustig' COLLATE German_Phonebook_CS_AS

Transact-SQL에서 상수 사용

Transact-SQL에서는 여러 가지 방법으로 상수를 사용할 수 있습니다. 예는 다음과 같습니다.

  • 산술 식의 상수 값

    SELECT Price + $.10
    FROM MyTable
    
  • WHERE 절에서 비교되는 열의 데이터 값

    SELECT *
    FROM MyTable
    WHERE LastName = 'O''Brien'
    
  • 변수에 지정할 데이터 값

    SET @DecimalVar = -1200.02
    
  • 현재 행의 열에 지정될 데이터 값입니다. 이 값은 UPDATE 문의 SET 절이나 INSERT 문의 VALUES 절을 사용하여 지정합니다.

    UPDATE MyTable
    SET Price = $99.99
    WHERE PartNmbr = 1234
    INSERT INTO MyTable VALUES (1235, $88.88)
    
  • PRINT 또는 RAISERROR 문에 의해 실행된 메시지의 텍스트를 지정하는 문자열

    PRINT 'This is a message.'
    
  • IF 문이나 CASE 함수와 같은 조건문 테스트를 위한 값

    IF (@@SALESTOTAL > $100000.00)
       EXECUTE Give_Bonus_Procedure