常數 (Database Engine)
常數是代表特定資料值的一個符號。常數的格式是根據其代表值的資料類型來決定。常數也稱為常值。下表顯示如何使用常數的一些範例。
常數用於 |
範例 |
---|---|
字元字串 |
'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' |
若要指定數值常數 (Nemeric Constant) 的數值正負號,請使用 + 與 - 的一元運算子 (Unary Operator):
+$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 中,常數有許多用途。下列是部份範例:
作為算術運算式 (Arithmetic Expression) 中的常數值:
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