定数 (データベース エンジン)

定数は特定のデータ値を表す記号です。定数の形式は、その定数が表す値のデータ型によって決まります。定数は、リテラルとも呼ばれます。次の表に、定数の使用例を示します。

定数のデータ型

文字列

'O''Brien'

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

UNICODE 文字列

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

文字列定数と Unicode 定数には、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