定数 (データベース エンジン)
定数は特定のデータ値を表す記号です。定数の形式は、その定数が表す値のデータ型によって決まります。定数は、リテラルとも呼ばれます。次の表に、定数の使用例を示します。
定数のデータ型 |
例 |
---|---|
文字列 |
'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