常量(数据库引擎)

常量是表示特定数据值的符号。常量的格式取决于它所表示的值的数据类型。常量还称为字面量。下表介绍了一些如何使用常量的示例。

使用的常量

示例

字符串

'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