The Wayback Machine - http://web.archive.org/web/20121027165412/http://msdn.microsoft.com:80/zh-tw/library/ms179899(v=sql.90).aspx
本主題尚未接受評分 - 為這個主題評分

常數 (Transact-SQL)

常數也稱為常值或純量值,是一個代表特定資料值的符號。常數的格式會隨著所代表之值的資料類型而不同。

字元字串常數

字元字串常數含括在單引號中,其中包括英數字元 (a-z、A-Z 和 0-9) 以及特殊字元,如驚歎號 (!)、@ 記號 (@) 和數字符號 (#)。除非利用 COLLATE 子句來指定定序,否則,字元字串常值會被指派目前資料庫的預設定序。使用者所輸入的字元字串是透過電腦的字碼頁來評估的,必要的話,它們會轉換成資料庫預設字碼頁。

如果連接的 QUOTED_IDENTIFIER 選項已設為 OFF,就可以將字元字串括在雙引號內,但 Microsoft SQL Native Client Provider 和 ODBC 驅動程式會自動使用 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 相容性模式中,用單一空格來表示空字串。

字元字串常數支援增強型定序。

ms179899.note(zh-tw,SQL.90).gif附註:
大於 8000 位元組的字元常數會輸入成 varchar(max) 資料。

Unicode 字串

Unicode 字串的格式類似於字元字串,但前面附加了 N 識別碼 (N 代表 SQL-92 標準中的國家 (地區) 語言)。N 前置詞必須是大寫。例如,'Michél' 是一個字元常數,N'Michél' 則是 Unicode 常數。Unicode 常數會解譯成 Unicode 資料,並不會用字碼頁來評估。Unicode 常數有定序。這個定序主要用來控制比較和區分大小寫。除非利用 COLLATE 子句來指定定序,否則,Unicode 常數會被指派目前資料庫的預設定序。Unicode 資料是利用每個字元 2 位元組來儲存的,而不是字元資料的每個字元 1 個位元組。如需詳細資訊,請參閱<使用 Unicode 資料>。

Unicode 字串常數支援增強型定序。

ms179899.note(zh-tw,SQL.90).gif附註:
大於 8000 位元組的 Unicode 常數會輸入成 nvarchar(max) 資料。

二進位常數

二進位常數的前置詞是 0x,它是一個十六進位數字字串。它們不需加上引號。

以下是二進位字串的範例:

0xAE
0x12Ef
0x69048AEFDD010E
0x  (empty binary string)
ms179899.note(zh-tw,SQL.90).gif附註:
大於 8000 位元組的二進位常數會輸入成 varbinary(max) 資料。

bit 常數

bit 常數用數字 0 或 1 來表示,不需加上引號。如果使用大於 1 的數字,它會轉換成 1。

datetime 常數

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
float 和 real 常數

float 和 real 常數是利用科學記號表示法來表示。

以下是 float 或 real 值的範例:

101.5E5
0.5E-2
money 常數

money 常數用數字字串來表示,選擇性地含有小數點,前面也選擇性地附加貨幣符號。money 常數不需加上引號。

SQL Server 2005 不會強制執行任何一種分組規則,如在代表貨幣的字串中,每三位數插入一個逗號 (,)。

ms179899.note(zh-tw,SQL.90).gif附註:
在指定 money 常值的任何位置中,逗號都會被忽略。

以下是 money 常數的範例:

$12
$542023.14
uniqueidentifier 常數

uniqueidentifier 常數是代表 GUID 的字串。您可以依照字元或二進位字串格式來指定它們。

下列範例指定相同的 GUID:

'6F9619FF-8B86-D011-B42D-00C04FC964FF'
0xff19966f868b11d0b42d00c04fc964ff

若要指示數字是正數或負數,請將 + 或 - 一元運算子套用於數值常數。這會建立一個代表帶正負號的數值之數值運算式。當沒有套用 + 或 - 一元運算子時,數值常數會使用正數。

  • 帶正負號的 integer 運算式:
    +145345234
    -2147483648
    
  • 帶正負號的 decimal 運算式:
    +145345234.2234
    -2147483648.10
    
  • 帶正負號的 float 運算式:
    +123E-3
    -12E5
    
  • 帶正負號的 money 運算式:
    -$45.56
    +$423456.99
    

SQL Server 支援字元及支援增強型定序的 Unicode 字串常數。如需詳細資訊,請參閱<COLLATE (Transact-SQL)>子句。

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
社群內容 新增