Constants (Transact-SQL)Constants (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

リテラル値またはスカラー値としても知られる定数は、特定のデータ値を表す記号です。A constant, also known as a literal or a scalar value, is a symbol that represents a specific data value. 定数の形式は、その定数が表す値のデータ型に依存します。The format of a constant depends on the data type of the value it represents.

文字列定数Character string constants

文字列定数では、英数字 (a ~ z、A ~ Z、および 0 ~ 9)、感嘆符 (!)、アット マーク (@)、および番号記号 (#) などの特殊文字を単一引用符で囲みます。Character string constants are enclosed in single quotation marks and include alphanumeric characters (a-z, A-Z, and 0-9) and special characters, such as exclamation point (!), at sign (@), and number sign (#). COLLATE 句で照合順序を指定しない限り、文字列定数には現在のデータベースの既定の照合順序が割り当てられます。Character string constants are assigned the default collation of the current database, unless the COLLATE clause is used to specify a collation. ユーザーが入力する文字列は、コンピューターのコード ページから評価され、必要に応じてデータベースの既定のコード ページに変換されます。Character strings typed by users are evaluated through the code page of the computer and are translated to the database default code page if it is required.

接続に対して QUOTED_IDENTIFIER オプションが OFF に設定されている場合は、文字列を二重引用符で囲むこともできます。ただし、Microsoft SQL ServerSQL Server Native Client Provider と ODBC ドライバーでは、自動的に SET QUOTED_IDENTIFIER ON が使用されます。If the QUOTED_IDENTIFIER option has been set OFF for a connection, character strings can also be enclosed in double quotation marks, but the Microsoft SQL ServerSQL Server Native Client Provider and ODBC driver automatically use SET QUOTED_IDENTIFIER ON. 単一引用符を使用することをお勧めします。We recommend using single quotation marks.

単一引用符で囲まれた文字列に単一引用符を埋め込む場合は、単一引用符を 2 つ続けて並べることで 1 つの単一引用符を表します。If a character string enclosed in single quotation marks contains an embedded quotation mark, represent the embedded single quotation mark with two single quotation marks. これは、二重引用符で囲む文字列では必要ありません。This is not required in strings embedded in double quotation marks.

文字列の例は次のとおりです。The following are examples of character strings:

'Cincinnati'  
'O''Brien'  
'Process X is 50% complete.'  
'The level for job_id: %d should be between %d and %d.'  
"O'Brien"  

空文字列は、2 つの単一引用符の間に何も挿入しないで表します。Empty strings are represented as two single quotation marks with nothing in between. 6.x 互換性モードでは、空文字列は 1 つのスペースと見なされます。In 6.x compatibility mode, an empty string is treated as a single space.

文字列は、拡張照合順序をサポートします。Character string constants support enhanced collations.

注意

8,000 バイト以上の文字列定数は varchar(max) データ型に分類されます。Character constants greater than 8000 bytes are typed as varchar(max) data.

Unicode 文字列Unicode strings

Unicode 文字列の形式は文字列に似ていますが、先頭に N 識別子が付きます (N は、SQL-92 標準で National Language を表します)。Unicode strings have a format similar to character strings but are preceded by an N identifier (N stands for National Language in the SQL-92 standard). プレフィックス N は大文字にする必要があります。The N prefix must be uppercase. たとえば、'Michél' は文字定数であり、N'Michél' は Unicode 定数です。For example, 'Michél' is a character constant while N'Michél' is a Unicode constant. Unicode 定数は Unicode データとして解釈され、コード ページを使用して評価されることはありません。Unicode constants are interpreted as Unicode data, and are not evaluated by using a code page. Unicode 定数は照合順序を持ちます。Unicode constants do have a collation. この照合順序では主に比較と大文字小文字の区別が制御されます。This collation primarily controls comparisons and case sensitivity. COLLATE 句で照合順序を指定しない限り、Unicode 定数には現在のデータベースの既定の照合順序が割り当てられます。Unicode constants are assigned the default collation of the current database, unless the COLLATE clause is used to specify a collation. Unicode データは、文字データに対して、1 文字あたり 1 バイトではなく、1 文字あたり 2 バイトを使用して格納されます。Unicode data is stored by using 2 bytes per character instead of 1 byte per character for character data. 詳細については、「 Collation and Unicode Support」を参照してください。For more information, see Collation and Unicode Support.

Unicode 文字列定数は、拡張照合順序をサポートします。Unicode string constants support enhanced collations.

注意

8,000 バイト以上の Unicode 文字列定数は nvarchar(max) データ型に分類されます。Unicode constants greater than 8000 bytes are typed as nvarchar(max) data.

バイナリ定数Binary constants

binary 型定数は 16 進数の文字列であり、0x というプレフィックスが付きます。Binary constants have the prefix 0x and are a string of hexadecimal numbers. 引用符では囲みません。They are not enclosed in quotation marks.

バイナリ文字列の例は次のとおりです。The following are examples of binary strings are:

0xAE  
0x12Ef  
0x69048AEFDD010E  
0x  (empty binary string)  

注意

8,000 バイト以上の binary 型文字列は varbinary(max) データ型に分類されます。Binary constants greater than 8000 bytes are typed as varbinary(max) data.

bit 型定数bit constants

bit 型定数は数値の 0 または 1 で表します。引用符では囲みません。bit constants are represented by the numbers 0 or 1, and are not enclosed in quotation marks. 1 より大きい数値が使用される場合は、1 に変換されます。If a number larger than one is used, it is converted to one.

datetime 型定数datetime constants

datetime 型定数は、特定の形式の日付文字値で表し、単一引用符で囲みます。datetime constants are represented by using character date values in specific formats, enclosed in single quotation marks.

例を次に datetime 定数。The following are examples of datetime constants:

'December 5, 1985'  
'5 December, 1985'  
'851205'  
'12/5/98'  

次に datetime 型定数の例を示します。Examples of datetime constants are:

'14:30:24'  
'04:24 PM'  

整数定数integer constants

integer 型定数は数値文字列で表し、引用符では囲みません。また、小数点は含みません。integer constants are represented by a string of numbers that are not enclosed in quotation marks and do not contain decimal points. integer 定数は整数である必要があります。 10 進数に含まれることはできません。integer constants must be whole numbers; they cannot contain decimals.

例を次に integer 定数。The following are examples of integer constants:

1894  
2  

decimal 型定数decimal constants

decimal 型定数は、小数点を含む数値文字列で表し、引用符では囲みません。decimal constants are represented by a string of numbers that are not enclosed in quotation marks and contain a decimal point.

例を次に decimal 定数。The following are examples of decimal constants:

1894.1204  
2.0  

float 型と real 型定数float and real constants

float および real 型定数は科学的表記法で表します。float and real constants are represented by using scientific notation.

次に float または real 値の例を示します。The following are examples of float or real values:

101.5E5  
0.5E-2  

money 型定数money constants

money 型定数は数値文字列で表し、オプションで小数点および通貨記号をプレフィックスとして付加することができます。money constants are represented as string of numbers with an optional decimal point and an optional currency symbol as a prefix. money 型定数は、引用符では囲みません。money constantsare not enclosed in quotation marks.

SQL ServerSQL Server では、金額を表す文字列の 3 桁ごとにコンマ (,) を挿入するなどのグループ化ルールを設定することはできません。does not enforce any kind of grouping rules such as inserting a comma (,) every three digits in strings that represent money.

注意

コンマは、指定した任意の場所無視 money リテラルです。Commas are ignored anywhere in the specified money literal.

例を次に money 定数。The following are examples of money constants:

$12  
$542023.14  

uniqueidentifier 型定数uniqueidentifier constants

uniqueidentifier 型定数は、GUID 値を表す文字列です。uniqueidentifier constants are a string representing a GUID. 文字型または binary 型文字列の形式で指定できます。They can be specified in either a character or binary string format.

次の例は、両方とも同じ GUID を指定しています。The following examples both specify the same GUID:

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

負の数値と正の数値の指定Specifying Negative and Positive Numbers

数値が正であるか負であるかを示すには、数値型定数に + または - 単項演算子を付加します。To indicate whether a number is positive or negative, apply the + or - unary operators to a numeric constant. これにより、符号付き数値を表す数値式が作成されます。This creates a numeric expression that represents the signed numeric value. + または - 単項演算子が付加されない場合、正の値になります。Numeric constants use positive when the + or - unary operators are not applied.

署名 integer 式。Signed integer expressions:

+145345234
-2147483648

署名 decimal 式。Signed decimal expressions:

+145345234.2234
-2147483648.10

署名 float 式。Signed float expressions:

+123E-3
-12E5

署名 money 式。Signed money expressions:

-$45.56
+$423456.99

拡張照合順序Enhanced Collations

SQL Server は、拡張照合順序をサポートする文字および Unicode 文字列定数をサポートしています。SQL Server supports character and Unicode string constants that support enhanced collations. 詳細については、COLLATE (Transact-SQL) 句をご確認ください。For more information, see the COLLATE (Transact-SQL) clause.

参照See also

データ型 (Transact-SQL)Data Types (Transact-SQL)
式 (Transact-SQL)Expressions (Transact-SQL)
演算子 (Transact-SQL)Operators (Transact-SQL)