Transact-SQL 参考

常量

常量,也称为字面值或标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。

字符串常量

字符串常量括在单引号内并包含字母数字字符(a-z、A-Z 和 0-9)以及特殊字符,如感叹号 (!)、at 符 (@) 和数字号 (#)。将为字符串常量指派当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。用户键入的字符串通过计算机的代码页计算,如有必要将被转换为数据库的默认代码页。有关更多信息,请参见排序规则

如果 QUOTED_IDENTIFIER 选项已将连接设置成 OFF,字符串也可以使用双引号括起来,但是用于 Microsoft SQL Server™ 和 ODBC 驱动程序的 Microsoft® OLE DB 提供程序自动使用 SET QUOTED_IDENTIFIER ON。建议使用单引号。

如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示嵌入的单引号。对于嵌入在双引号中的字符串则没有必要这样做。

字符串的示例为:

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

空字符串用中间没有任何字符的两个单引号表示。在 6.x 兼容模式中,空字符串被看作是一个空格。

字符串常量支持增强的排序规则。

Unicode 字符串

Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。N 前缀必须是大写字母。例如,'Michél' 是字符串常量而 N'Michél' 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行计算。Unicode 常量确实有排序规则,主要用于控制比较和区分大小写。为 Unicode 常量指派当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。Unicode 数据中的每个字符都使用两个字节进行存储,而字符数据中的每个字符则都使用一个字节进行存储。有关更多信息,请参见使用 Unicode 数据

Unicode 字符串常量支持增强的排序规则。

二进制常量

二进制常量具有前辍 0x 并且是十六进制数字字符串。这些常量不使用引号。二进制字符串的示例为:

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

bit 常量

bit 常量使用数字 0 或 1 表示,并且不使用引号。如果使用一个大于 1 的数字,它将被转换为 1。

datetime 常量

datetime 常量使用特定格式的字符日期值表示,并被单引号括起来。有关 datetime 常量格式的更多信息,请参见使用日期和时间数据。下面是一些日期常量的示例:

'April 15, 1998'
'15 April, 1998'
'980415'
'04/15/98'

下面是一些时间常量的示例:

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

integer 常量

integer 常量由没有用引号括起来且不含小数点的一串数字表示。integer 常量必须是整数,不能包含小数点。下面是一些 integer 常量的示例:

1894
2

decimal 常量

decimal 常量由没有用引号括起来且包含小数点的一串数字表示。下面是一些 decimal 常量的示例:

1894.1204
2.0

floatreal 常量

floatreal 常量使用科学记数法表示。下面是一些 floatreal 值的示例:

101.5E5
0.5E-2

money 常量

money 常量表示为以可选小数点和可选货币符号作为前缀的一串数字。这些常量不使用引号。下面是一些 money 常量的示例:

$12
$542023.14

uniqueidentifier 常量

uniqueidentifier 常量是表示全局唯一标识符 (GUID) 值的字符串。可以使用字符或二进制字符串格式指定。这两个示例指定相同的 GUID:

'6F9619FF-8B86-D011-B42D-00C04FC964FF'
0xff19966f868b11d0b42d00c04fc964ff
指定负数和正数

若要指明一个数是正数还是负数,应该对数字常量应用 + 或 - 的一元运算符。这将创建一个代表有符号数字值的表达式。如果没有应用 + 或 - 符号,数字常量默认为正数。

增强的排序规则

SQL Server 2000 支持字符和 Unicode 字符串常量,这些常量支持增强的排序规则。

若要使用增强的排序规则,请使用 COLLATE 子句。

请参见

排序规则

数据类型

表达式

运算符

使用常量