數值、字串及布林常值

適用於:SQL ServerAzure Data Factory 中的 SSIS Integration Runtime

運算式可以包含數值、字串及布林常值。 運算式求值器支援各種數值字面值,例如整數、小數和浮點常值。 運算式評估工具亦支援長尾碼和浮點尾碼,其指定運算式評估工具處理值的方式,以及數值常值中的科學記號。

數值文字

運算式評估工具支援整數和非整數的數值資料類型。 它也支援血緣識別碼,這是套件元素的唯一數字識別碼。 血統識別碼是數字,但你不能用它們來做數學運算。

運算式評估工具支援尾碼,可讓您用來指示運算式評估工具處理數值常值的方式。 例如,你可以寫入37L或37l表示整數37被視為長整數資料型別。

下表列出數值常值的後綴。

後置詞 描述
L 或 l 長整數常值。
U 或 u 不帶正負號的數值常值。
E 或 e 科學記號法中的指數

下表列出數值運算式元素及其規則運算式。

運算式元素 正規表示式 描述
數字表示為 D。 [0-9] 任何位數。
科學記號法表示為 E。 [Ee][+-]?{D}+ 大寫或小寫 e,可選擇 + 或 -,以及如 D 所定義的一個或多個數字。
整數後綴表示為 IS。 (([lL]?[uU]?)|([uU]?[lL]?)) 可選擇使用大寫或小寫的 u 和 l,或是 u 和 l 的組合。 U 或 u 表示未符號值。 L 或 l 表示長整數值。
浮點後綴表示為 FS。 ([f|F]|[l|L]) 大寫或小寫 f 或 l。 F 或 f 表示浮動值(DT_R4資料型態)。 L 或 l 表示長整數值(DT_R8 資料類型)。
表示為 H 的十六進位數字。 [a-fA-F0-9] 任何十六進位數。

以下表格使用正規表示式語言來說明有效的數值常值。

正規表示式 描述
{D}+{IS} 一個至少包含一位數D()的整數數值文字,且可選擇性地加上長且無符號的後綴(IS)。 範例:457、、 785u986L、 7945ul。
{D}+{E}{FS} 一個至少包含一位數()、D科學記號,以及長或浮點後綴的非整數數值文字。 範例:4E8l、、 13e-2f5E+L和 。
{D}*"."{D}+{E}?{FS} 具有小數點、至少包含一位數字的小數部分(D)、選用的指數(E),以及一個 float 或一個 long 識別項(FS)的非整數數值常值。 這個數值常值的資料類型為 DT_R4 或 DT_R8。 範例:6.45E3f、、 .89E-2l1.05E+7F和 。
{D}+"."{D}*{E}?{FS} 一個非整數數值常值,至少包含一個有效位數D、小數點、指數(E),以及一個浮點識別碼或一個長整數識別碼FS。 這個數值常值的資料類型是 DT_R4 或 DT_R8。 範例:1.E-4f、、 4.6E6L8.365E+2f和 。
{D}*.{D}+ 具有有效位數和小數位數的非整數數值常值。 它有一個小數點和一個至少包含一位數字的小數部分(D)。 這個數值常值屬於 DT_NUMERIC 資料類型。 範例:.9、、 5.80.346和 。
{D}+.{D}* 具有有效位數和小數位數的非整數數值常數。 它至少有一個有效位數()D和一個小數位。 這個數值字面值的資料類型為 DT_NUMERIC。 範例:6.、、 0.28.0和 。
#{D}+ 歷程識別碼。 它由磅數(#)字元和至少一個數字(D)組成。 範例: #123.
0[xX]{H}+{uU} 十六進位格式的數值常值。 它包含數字 0、一個大寫或小寫的 x 字母、至少一個大寫 H 字母,以及可選用的無符號後綴。 範例:0xFF0A 和 0X000010000U。

如需運算式評估工具所使用之資料類型的詳細資訊,請參閱 Integration Services 資料類型。

運算式可包括不同資料類型的數值常數。 當運算式評估工具評估這些運算式時,會將資料轉換成相容的類型。 如需相關資訊,請參閱 Integration Services Data Types in Expressions。

不過,某些資料類型之間的轉換需要明確進行型別轉換。 運算式求值器提供型別轉換運算子,以執行明確的資料型別轉換。 如需詳細資訊,請參閱 Cast (SSIS 運算式)。

將數值文字映射到 Integration Services 資料型別

表達式求值器將數值文字轉換如下:

  • 整數數值文字會根據其後綴映射到整數資料型態:

    後置詞 結果類型
    無 DT_I4
    U DT_UI4
    L DT_I8
    UL DT_UI8

    重要

    若缺少長(L 或 l)後綴,表達式評估器會將有符號值映射到DT_I4資料型別,無符號值映射到DT_UI4資料型別,即使該值超出資料型別。

  • 包含指數的數值字面值會轉換為DT_R4或DT_R8資料型態。 如果表達式包含長字尾,則轉換為 DT_R8。 如果包含浮點後綴,則會轉換成 DT_R4 資料型別。

  • 若非整數數值文字包含 F 或 f,則映射至 DT_R4 資料型態。 若包含 L 或 l 且數字為整數,則映射為 DT_I8 資料型態。 如果是實數,它會對應到DT_R8資料型態。 如果包含長字尾,則會轉換成 DT_R8 資料型別。

  • 具有精確度和小數位數的非整數數值常值會對應到 DT_NUMERIC 資料類型。

字串字面值

將字串字面值以引號包圍。 運算式語言針對常逸出的字元提供一組逸出序列,例如非列印字元和引號。

字串常值是由引號括住的零個或多個字元所組成。 若字串包含引號,則將其跳脫以進行解析。 字串可以包含任何兩位元組字元,但 \x0000 除外,因為 \x0000 字元是字串的空字元終止符。

字串可包含其他需要使用跳脫序列的字元。 下表列出字串常值的逸出序列。

逸出序列 描述
\a 警示
\b 退格鍵
\f 換頁字元
\n 換行
\r 回車字元
\t 水平 Tab 鍵
\v 垂直 Tab 鍵
\" 引號
\ 反斜線
\xhhhh 十六進位記號的 Unicode 字元

布林字面值

運算式評估器支援常見的布林常值:True 和 False。 表達式評估器不區分大小寫,允許任意大寫與小寫字母組合。 例如,TRUE 與 True 一樣可正常運作。

注意

在運算式中,你必須以空格分隔布林常值。