常數 (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