Sqlserver:常量

來源:互聯網
上載者:User

常量,也稱為文字值或標量值,是表示一個特定資料值的符號。常量的格式取決於它所表示的值的資料類型。

字串常量

字串常量括在單引號內並包含字母數字字元(a-z、A-Z 和 0-9)以及特殊字元,如驚嘆號 (!)、at 符 (@) 和數字型大小
(#)。將為字串常量分配當前資料庫的預設定序,除非使用 COLLATE
子句為其指定了定序。使用者鍵入的字串通過電腦的字碼頁計算,如有必要,將被轉換為資料庫的預設字碼頁。

如果已為某個串連將 QUOTED_IDENTIFIER 選項設定成 OFF,則字串也可以使用雙引號括起來,但 Microsoft SQL
本機用戶端提供者和 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"

Null 字元串用中間沒有任何字元的兩個單引號表示。在 6.x 相容模式中,Null 字元串被看作是一個空格。

字串常量支援增強定序。

Unicode 字串

Unicode 字串的格式與一般字元串相似,但它前面有一個 N 標識符(N 代表 SQL-92 標準中的地區語言)。N
首碼必須是大寫字母。例如,'Michél' 是字串常量而 N'Michél' 則是 Unicode 常量。Unicode 常量被解釋為 Unicode
資料,並且不使用字碼頁進行計算。Unicode 常量有定序。該定序主要用於控制比較和如何區分大小寫。為 Unicode
常量分配當前資料庫的預設定序,除非使用 COLLATE 子句為其指定了定序。對於字元資料,儲存 Unicode 資料時每個字元使用 2
個位元組,而不是每個字元 1 個位元組。有關詳細資料,請參閱。

Unicode 字串常量支援增強定序。

二進位常量

二進位常量具有前輟 0x 並且是十六進位數字字串。這些常量不使用引號括起。

下面是二進位字串的樣本:

複製代碼
0xAE
0x12Ef
0x69048AEFDD010E
0x (empty binary string)

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 不強制採用任何種類的分組規則,例如在代表貨幣的字串中每隔三個數字插入一個逗號 (,)。

注意:
在指定的 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)
子句。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.