本主題描述常值的 Entity SQL 支援。
零
Null 常值用來表示任何型別的 Null 值。 Null 常值與任何類型相容。
具類型的 Null 可以透過 Null 常值轉換來建立。 如需詳細資訊,請參閱 CAST。
如需可以使用自由浮點 Null 常值的規則,請參閱 Null 常值和類型推斷。
布林值
布爾常值會以 關鍵詞 true 和 false表示。
整數
整數常值可以是 或Int64類型Int32。 常 Int32 值是一系列數值字元。 常 Int64 值是數位字元的數列,後面接著大寫 L。
十進制
固定點數位(十進位)是一系列數值字元、點數(.)和另一系列的數值字元,後面接著大寫 “M”。
Float、Double
雙精確度浮點數是一系列數值字元、點數(.)和另一系列的數值字元,後面可能接著指數。 單精度浮點數 (或 float) 是雙精確度浮點數語法,後面接著小寫 f。
繩子
字串是以引號括住的一系列字元。 引號可以是單引號 (') 或兩個雙引號 ()。 字元字串常值可以是 Unicode 或非 Unicode。 若要將字元字串常值宣告為 Unicode,請在常值前面加上大寫 「N」。。 預設值為非 Unicode 字元字串常值。 N 與字串常值承載之間不能有空格,N 必須是大寫。
'hello' -- non-Unicode character string literal
N'hello' -- Unicode character string literal
"x"
N"This is a string!"
'so is THIS'
日期時間
datetime 常值與地區設定無關,由日期部分和時間部分組成。 日期和時間部分都是強制性的,而且沒有預設值。
日期部分必須有格式:YYYY-DD-MM,其中 YYYY 是介於 0001 到 9999 之間的四位數年份值,MM是介於 1 到 12 之間的月份,而 DD 是指定月份MM有效的日期值。
時間部分的格式必須是:HHMM:[:SS[.fffffff]],其中HH是介於 0 到 23 之間的小時值,是介於 0 到 59 之間的分鐘值,MM是介於 0 到 59 之間的第二個值,SS而 fffffff 是介於 0 和 9999999 之間的小數秒值。 所有值範圍都是內含的。 小數秒是選擇性的。 除非指定小數秒,否則秒是選擇性的;在此情況下,需要秒數。 未指定秒數或小數秒時,將會改用零的預設值。
DATETIME 符號與常值承載之間可以有任意數目的空格,但沒有新的行。
DATETIME'2006-10-1 23:11'
DATETIME'2006-12-25 01:01:00.0000000' -- same as DATETIME'2006-12-25 01:01'
時間
時間常值與地區設定無關,且只由時間部分組成。 時間部分是強制性的,而且沒有預設值。 其格式必須是 HH:MM[:SS[.fffffff]],其中 HH 是介於 0 到 23 之間的小時值,MM 是介於 0 到 59 之間的分鐘值,SS 是介於 0 到 59 之間的第二個值,而 fffffff 是介於 0 和 9999999 之間的第二個分數值。 所有值範圍都是內含的。 小數秒是選擇性的。 除非指定小數秒,否則秒是選擇性的;在此情況下,需要秒數。 如果未指定秒數或分數,則會改用預設值零。
TIME 符號與常值承載之間可以有任意數目的空格,但沒有新的行。
TIME'23:11'
TIME'01:01:00.1234567'
日期時間偏移量
datetimeoffset 常值與地區設定無關,由日期部分、時間部分和位移部分組成。 所有日期、時間和位移部分都是強制性的,而且沒有預設值。 日期部分的格式必須是YYYY-MM-DD,其中YYYY是介於0001到9999之間的四位數年份值,MM是介於1到12之間的月份,而 DD是指定月份有效的日值。 時間部分的格式必須是 HH:MM[:SS[.fffffff]],其中 HH 是介於 0 到 23 之間的小時值,MM 是介於 0 到 59 之間的分鐘值,SS 是介於 0 到 59 之間的第二個值,而 fffffff 是介於 0 和 9999999 之間的小數秒值。 所有值範圍都是內含的。 小數秒是選擇性的。 除非指定小數秒,否則秒是選擇性的;在此情況下,需要秒數。 如果未指定秒數或分數,則會改用預設值零。 位移部分必須具有 {+|-}HH:MM 格式,其中 HH 和 MM 與時間部分的意義相同。 不過,位移的範圍必須介於 -14:00 和 + 14:00 之間
DATETIMEOFFSET 符號與常值承載之間可以有任意數目的空格,但沒有新的行。
DATETIMEOFFSET'2006-10-1 23:11 +02:00'
DATETIMEOFFSET'2006-12-25 01:01:00.0000000 -08:30'
備註
有效的 Entity SQL 常值可以落在 CLR 或數據源支援的範圍之外。 這可能會導致例外狀況
二進制
二進位字串常值是一連串十六進位數位,並以關鍵詞二進位或快捷鍵符號 X 或 x分隔的單引號分隔。 快捷鍵符號 X 不區分大小寫。 關鍵詞 binary 與二進位字串值之間允許零個或多個空格。
十六進位字元也不區分大小寫。 如果常值是由奇數十六進位數位所組成,則常值會以十六進位零位數作為常值前置詞,以對齊下一個偶數十六進位數位。 二進位字串的大小沒有正式限制。
Binary'00ffaabb'
X'ABCabc'
BINARY '0f0f0f0F0F0F0F0F0F0F'
X'' -- empty binary string
Guid
常 GUID 值代表全域唯一標識碼。 它是由 關鍵詞 GUID 所構成的序列,後面接著稱為 登錄 格式的十六進位數位:以單引弧括住 8-4-4-4-12。 十六進位數位不區分大小寫。
GUID 符號與常值承載之間可以有任意數目的空格,但沒有新的行。
Guid'1afc7f5c-ffa0-4741-81cf-f12eAAb822bf'
GUID '1AFC7F5C-FFA0-4741-81CF-F12EAAB822BF'