リテラル値またはスカラ値としても知られる定数は、特定のデータ値を表す記号です。定数の形式は、その定数が表す値のデータ型に依存します。
文字列定数
文字列定数では、英数字 (a ~ z、A ~ Z、および 0 ~ 9)、感嘆符 (!)、アット マーク (@)、および番号記号 (#) などの特殊文字を単一引用符で囲みます。COLLATE 句で照合順序を指定しない限り、文字列定数には現在のデータベースの既定の照合順序が割り当てられます。ユーザーが入力した文字列は、コンピュータのコード ページで評価され、必要があればデータベースの既定のコード ページに翻訳されます。詳細については、「」を参照してください。
接続に対して QUOTED_IDENTIFIER オプションが OFF に設定されている場合は、文字列を二重引用符で囲むこともできます。ただし、SQL Server の Microsoft® OLE DB Provider for Microsoft SQL Server™ と ODBC ドライバでは、自動的に SET QUOTED_IDENTIFIER ON が使用されます。単一引用符を使用することをお勧めします。
単一引用符で囲まれた文字列に単一引用符を埋め込む場合は、単一引用符を 2 つ続けて並べることで 1 つの単一引用符を表します。文字列が二重引用符で囲まれている場合は該当しません。
以下に文字列の例を示します。
'Cincinnati'
'O''Brien'
'Process X is 50% complete.'
'The level for job_id: %d should be between %d and %d.'
"O'Brien"
空文字列は、2 つの単一引用符の間に何も挿入しないで表します。6.x 互換性モードでは、空文字列は 1 つのスペースと見なされます。
文字列定数では、拡張照合順序がサポートされています。
UNICODE 文字列
UNICODE 文字列の形式は文字列と同様ですが、UNICODE 文字列には前に識別子 N が付きます。N は、SQL-92 標準の National Language を表します。プレフィックス N は常に大文字になります。たとえば、'Michél' は文字定数、N'Michél' は UNICODE 定数です。UNICODE 定数は UNICODE データとして解釈され、コード ページを使っての評価は行われません。UNICODE 定数は照合順序を持ち、この照合順序では主に比較と大文字小文字の区別が制御されます。COLLATE 句で照合順序を指定しない限り、UNICODE 定数には現在のデータベースの既定の照合順序が割り当てられます。文字データでは 1 文字を 1 バイトで格納するのに対し、UNICODE データでは 1 文字を 2 バイトで格納します。詳細については、「」を参照してください。
Unicode 文字列定数では、拡張照合順序がサポートされています。
binary 型定数
binary 型定数は 16 進数の文字列であり、0x というサフィックスが付きます。引用符では囲みません。以下に binary 型定数の例を示します。
0xAE
0x12Ef
0x69048AEFDD010E
0x (empty binary string)
bit 型定数
bit 型定数は数値の 0 または 1 で表します。引用符では囲みません。bit 型定数に 1 より大きい数値を使用すると、その値は 1 に変換されます。
datetime 型 (日付時刻型) 定数
datetime 型定数は、特定の形式の日付文字値で表し、単一引用符で囲みます。datetime 型定数に使用できる形式の詳細については、「」を参照してください。以下に日付型定数の例を示します。
'April 15, 1998'
'15 April, 1998'
'980415'
'04/15/98'
以下に時刻型定数の例を示します。
'14:30:24'
'04:24 PM'
integer 型 (整数型) 定数
integer 型定数は数値文字列で表し、引用符では囲みません。また、小数点は含みません。integer 型定数は小数点を含まない整数である必要があります。以下に整定数の例を示します。
1894
2
decimal 型 (小数型) 定数
decimal 型定数は、小数点を含む数値文字列で表し、引用符では囲みません。以下に小数型定数の例を示します。
1894.1204
2.0
float 型 (浮動小数点型) 定数および real 型 (実数型) 定数
float 型および real 型定数は科学的表記法で表します。以下に float 型および real 型値の例を示します。
101.5E5
0.5E-2
money 型 (金額型) 定数
money 型定数は数値文字列で表し、オプションで小数点および通貨記号をプレフィックスとして付加することができます。引用符では囲みません。以下に、money 型定数の例を示します。
$12
$542023.14
uniqueidentifier 型定数
uniqueidentifier 型定数は、GUID 値を表す文字列です。文字型または binary 型文字列の形式で指定できます。以下の 2 つの例では、同じ GUID を指定しています。
'6F9619FF-8B86-D011-B42D-00C04FC964FF'
0xff19966f868b11d0b42d00c04fc964ff
負または正の数値の指定
数値が負であるか正であるかを示すには、数値型定数に + または - 単項演算子を付加します。この方法で、符号付き数値を表す数式を作成できます。数値型定数は、+ または - 単項演算子が付加されない限り正の値になります。
拡張照合順序
SQL Server 2000 では、拡張照合順序をサポートする文字列定数および Unicode 文字列定数がサポートされています。
拡張照合順序を利用するには、COLLATE 句を使用します。
関連項目
データ型
Expressions (式)
Operators (演算子)