常量(数据库引擎)
常量是表示特定数据值的符号。常量的格式取决于它所表示的值的数据类型。常量还称为字面量。下表介绍了一些如何使用常量的示例。
使用的常量 |
示例 |
---|---|
字符串 |
'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