資料類型強制轉型函數 date2string ( date_expression ) 以 YYYY-MM-DD 格式的字串傳回日期。 time2string ( time_expression ) 以 HH:MM:SS.FFF 格式的字串傳回時間。 timeTZ2string ( timeTZ_expression ) 以 HH:MM:SS.FFF +HHMM 或 HH:MM:SS.FFFFFFF -HHMM 格式的字串傳回具有時區的時間。例如,-05:30 表示 GMT 減去 5 小時 30 分鐘後的時區。 timestamp2string ( timestamp_expression ) 以 YYYY-MM-DD HH:MM:SS.FFFFFFF 格式的字串傳回時間戳記。 timestampTZ2string ( timestamp_time_zone_expression ) 以 YYYY-MM-DD HH:MM:SS.FFFFFFF +HHMM 或 YYYY-MM-DD HH:MM:SS.FFF -HHMM 格式的字串傳回具有時區的時間戳記。 DTinterval2string ( date_time_interval_expression ) 以 DDDD HH:MM:SS.FFFFFFF 或 -DDDD HH:MM:SS.FFF 格式的字串傳回日期時間間隔。 DTinterval2stringAsTime ( date_time_interval_expression ) 以 HHHH:MM:SS.FFFFFFF 或 HH:MM:SS.FFF 格式的字串傳回日期時間間隔。天數被轉換為小時數。 int2DTinterval ( integer_expression , string_expression ) 將整數轉換為日期時間間隔。"String_expression" 指定 "integer_expression" 代表的內容:"ns"= 十億分之一秒、"s"= 秒(預設值)、"m"= 分鐘、"h"= 小時、"d"= 天。 範例:int2DTinterval (1020,"h") 結果:42 天 12 小時 範例:int2DTinterval (1020,"s") 結果:17 分鐘 mapNumberToLetter ( string_expression , integer_expression ) 在 "string_expression" 上加上 "integer_expression"。 範例:mapNumberToLetter ( 'a' , 1 ) 結果:b nullif ( string_expression1 , string_expression2 ) 如果 "string_expression1" 等於 "string_expression2"(不區分大小寫),則傳回空值,否則傳回 "string_expression1"。 mod ( integer_expression1 , integer_expression2 ) 傳回表示 "integer_expression1" 除以 "integer_expression2" 所得餘數(模數)的整數值。 power ( numeric_expression1 , numeric_expression2 ) 傳回 "numeric_expression1" 的 "numeric_expression2" 次方。 範例:power ( 3 , 2 ) 結果:9 int2YMinterval ( integer_expression , string_expression ) 將 "integer_expression" 轉換為年月間隔。"String_expression" 指定 "integer_expression" 表示的內容:"y"= 年、"m"= 月(預設值)。 YMinterval2string ( year_month_interval_expression ) 以 (YY MM) 或 -(YY MM) 格式的字串傳回 "year_month_interval_expression"。 number2string ( numeric_expression ) 使用 %g 格式指定元 (C/C++ syntax) 將 "numeric_expression" 轉換為字串。 string2date ( string_expression ) 以 YYYY-MM-DD 格式的日期傳回 "string_expression"。 以 [-]YY MM 格式的年月間隔傳回 "string_expression"。 string2YMinterval ( string_expression ) 以 [-]DD HH:MM[:SS[.FFF]] 格式的日期時間間隔傳回 "string_expression"。 string2DTinterval ( string_expression ) string2time ( string_expression ) 以 HH:MM:SS.FFFFFFF 格式的時間傳回 "string_expression"。 string2timestamp ( string_expression ) 以 YYYY-MM-DD [T|t|[white space]+] HH:MM:SS.FFFFFFF 格式的時間戳記傳回 "string_expression"。 string2timestampTZ ( string_expression ) 以 YYYY-MM-DD HH:MM:SS.FFFFFFF +HHMM 或 YYYY-MM-DD [T|t] HH:MM:SS.FFF -HHMM 格式傳回 "string_expression"。 string2double ( string_expression ) 傳回浮點數字。"String_expression" 具有下列格式:"[whitespace] [sign] [digits] [digits] [ {d|D|e|E }[sign]digits]" string2int64 ( string_expression ) 傳回長整數。"String_expression" 格式如下:"[whitespace] [{+|-}] [digits]" string2int32 ( string_expression ) 傳回整數。"String_expression" 格式如下:"[whitespace] [{+|-}] [digits]" date2timestamp ( date_expression ) 將 "date_expression" 轉換為時間戳記。時間戳記的時間部分將等於零。 timestamp2date ( timestamp_expression ) 將 "timestamp_expression" 轉換為日期。時間戳記的時間部分將被忽略。 timestamp2timestampTZ ( timestamp_expression ) 將 "timestamp_expression" 轉換為具有時區的時間戳記。具有時區的時間戳記位移部分將為零。 timestampTZ2timestamp ( timestamp_time_zone_expression ) 將 "timestamp_time_zone_expression" 轉換為時間戳記。具有時區的時間戳記位移部分將被忽略。 date2timestampTZ ( date_expression ) 將 "date_expression" 轉換為具有時區的時間戳記。時間戳記的時間和時區部分將等於零。 timestampTZ2date ( timestamp_time_zone_expression ) 將 "timestamp_time_zone_expression" 轉換為日期。時間戳記的時間和時區部分將被忽略。 _add_days ( timestamp_expression , integer_expression ) 傳回將 "integer_expression" 天加到 "timestamp_expression" 後所產生的日期時間。 範例:_add_days ( 2007-01-14 00:00:00.000 , 3 ) 結果:2007-01-17 00:00:00.000 _add_months ( timestamp_expression , integer_expression ) 傳回將 "integer_expression" 個月加到 "timestamp_expression" 後所產生的日期時間。 _add_years ( timestamp_expression , integer_expression ) 傳回將 "integer_expression" 年加到 "timestamp_expression" 後所產生的日期時間。 _age ( timestamp_expression ) 傳回將今天日期減去 "timestamp_expression" 後所得的數字。 範例:_age ([Query1].[Date]),其中 [Query1].[Date] 表示 2004 年 3 月 2 日,今天是 2009 年 7 月 8 日 結果:50,406,其中 5 表示年數,04 表示月數,06 表示天數。 _day_of_week ( timestamp_expression , integer_expression ) 針對 "timestamp_expression" 傳回星期幾(介於 1 到 7 之間),其中 "integer_expression" 指出該周的星期幾是第 1 天。若要判斷 "integer_expression",請選擇星期幾並從星期一開始計算;例如,如果您選擇星期三,"integer_expression" 會是 3,因為星期三是從星期一算起的第三天。 範例:_day_of_week ( 2009-01-01 , 7 ),其中 7 表示星期日是該周的第一天。 結果:5 _day_of_year ( timestamp_expression ) 傳回 "timestamp_ expression" 中的當年日次,以 1 到 366 之間的序數表示。也稱為儒略日。 _days_between ( timestamp_expression1 , timestamp_expression2 ) 傳回表示 "timestamp_expression1" 與 "timestamp_expression2" 之間天數的正數或負數。如果 "timestamp_expression1" < "timestamp_expression2",則結果會是負數。 _days_to_end_of_month ( timestamp_expression ) 傳回一個數字,該數字表示 "timestamp_expression" 所代表的當月中的剩餘天數。 _first_of_month ( timestamp_expression ) 傳回 "timestamp_expression" 所代表的當月中第一天的日期時間。 範例:_first_of_month ( 2009-05-04 00:00:00.000 ) 結果:傳回 2009-05-01 00:00:00.000 範例:_first_of_month (current_date) 結果:如果現行日期是 2009 年 7 月 30 日,則傳回 2009 年 7 月 1 日。 _last_of_month ( timestamp_expression ) 傳回 "timestamp_expression" 所代表的當月中最後一天的日期時間。 _make_timestamp ( integer_expression1 , integer_expression2 , integer_expression3 ) 傳回由 "integer_expression1"(年)、"integer_expression2"(月)和 "integer_expression3"(日)所建構的時間戳記。時間部分預設為 00:00:00.000。 _months_between ( timestamp_expression1 , timestamp_expression2 ) 傳回表示 "timestamp_expression1" 與 "timestamp_expression2" 之間月數的正數或負數。如果 "timestamp_expression1" < "timestamp_expression2",則結果會是負數。 _week_of_year ( timestamp_expression ) 傳回 "timestamp_expression" 所表示的當年的星期數(1 到 53)。根據 ISO 8601,一年內的第一週為包含星期四的第一週,相當於包含 1 月 4 日的第一週。每週的第一天為星期一(日值為 1),最後一天為星期日(日值為 7)。 _years_between ( timestamp_expression1 , timestamp_expression2 ) 傳回表示 "timestamp_expression1" 與 "timestamp_expression2" 之間年數的正整數或負整數。如果 "timestamp_expression1" < "timestamp_expression2",則會傳回負值。 _ymdint_between ( timestamp_expression1 , timestamp_expression2 ) 傳回表示 "timestamp_expression1" 與 "timestamp_expression2" 之間差異的數字。此值的格式為 YYMMDD,其中 YY 表示年數,MM 表示月數,DD 表示天數。 範例:_ymdint_between ( [Query1].[Date (close date)] , [Query1].[Date (ship date)] ),其中 [Query1].[Date (close date)] 為 2004 年 2 月 20 日,而 [Query1].[Date (ship date)] 為 2004 年 1 月 19 日。 結果:101,其中 1 表示月數,01 表示天數。 abs ( numeric_expression ) 傳回 "numeric_expression" 的絕對值。如果 "numeric_expression" 為負數,則會傳回一個正值。 ceiling ( numeric_expression ) 傳回大於或等於 "numeric_expression" 的最小整數。 exp ( numeric_expression ) 傳回常數 'e' 的 "numeric_expression" 次方。常數 'e' 是自然對數的基數。 範例:exp ( 2 ) 結果:7.389056 floor ( numeric_expression ) 傳回小於或等於 "numeric_expression" 的最大整數。 ln ( numeric_expression ) 傳回 "numeric_expression" 的自然對數。 round ( numeric_expression , integer_expression ) 傳回將 "numeric_expression" 捨入為小數點右側 "integer_expression" 有效位數的近似值。如果 "integer_expression" 為負數,則會將 "numeric_expression" 捨入為小數點左側 "integer_expression" 有效位數的近似絕對值。在替資料套用格式之前,請先將它四捨五入。 範例:round (125, -1) 結果:130 sqrt ( numeric_expression ) 傳回 "numeric_expression" 的平方根。"Numeric_expression" 不得為負值。 character_length ( string_expression ) 傳回 "string_expression" 中的字元數。 extract ( date_part_expression , datetime_expression ) 傳回一個整數,該整數表示 "datetime_expression" 中 "date_part_expression" 的值。"Date_part_expression" 可以是年、月、日、小時、分鐘或秒。 範例:extract ( 'year' ,string2timestamp( '2003-03-03 16:40:15.535' )) 結果:2003 範例:extract ( 'hour' ,string2timestamp( '2003-03-03 16:40:15.535' )) 結果:16 lower ( string_expression ) 傳回將所有大寫字元轉換為小寫字元的 "string_expression"。此函數出現在「GO 資料倉儲(查詢)」套件中的「快速寄發銷售成果報告」範例報告中。 octet_length ( string_expression ) 傳回 "string_expression" 中的位元組數。 position ( string_expression1 , string_expression2 ) 傳回表示 "string_expression1" 在 "string_expression2" 中的開始位置的整數值。如果找不到 "string_expression1",則傳回 0。 substring ( string_expression , integer_expression1 , integer_expression2 ) 傳回 "string_expression" 的子字串,該子字串的開始位置為 "integer_expression1" 之後的 "integer_expression2" 個字元,或一直到 "string_expression" 的尾端(如果 "integer_expression2" 為 -1)。"string_expression" 中的第一個字元在位置 1。 substring ( [Sales (analysis)].[Sales staff].[Sales staff].[Sales staff].[Position code], 3 , 5 ) 結果:傳回從第 3 到第 7 個字元的職位代碼。 trim ( trim_what_expression , match_character_expression , string_expression ) 傳回已修整所有前導空格和尾端空格的 "string_expression",或者傳回已修整 "match_character_expression" 中指定的字元。"Trim_what_expression" 可能是「前導」、「尾端」或「兩者」(預設)。如果要修整空格,則 "Match_character_expression" 可以為空字串,或者可以指定要修整的字元。 upper ( string_expression ) 傳回將所有小寫字元轉換為大寫字元的 "string_expression"。 status ( expression ) 傳回 "expression" 的狀態。可能值為:0 - 確定、1 - 空值、2 - 無法使用、4 - 除以零、8 - 溢位、16 - 安全、32 - 錯誤、64 - 新的、128 - 範例、256 - 擱置