Oracle
Oracle 常用函數 Oracle add_months ( date_expression , integer_expression ) 傳回將 "integer_expression" 月數加到 "date_expression" 之後得到的日期時間。 ceil ( numeric_expression ) 傳回大於或等於 "numeric_expression" 的最小整數。 char_length ( string_expression ) 傳回 "string_expression" 中的邏輯字元數。在某些東亞語言環境中,邏輯字元數與位元組數不同。 chr ( integer_expression ) 傳回一個字元,此字元具有 "integer_expression" 所指定的 ASCII 字碼值。"Integer_expression" 應該在 0 到 255 之間。 concat ( string_expression1 , string_expression2 ) 傳回連結或結合 "string_expression1" 與 "string_expression2" 後得到的字串。 範例:concat ( [Sales (query)].[Sales staff].[First name], [Sales (query)].[Sales staff].[Last name] ) 結果:傳回名字與姓氏;例如 Bob Smith。 decode ( expression , search , result [ , search , result ]... [ , default ] ) 逐一比較 "expression" 與每一個搜尋值。如果 "expression" 等於搜尋值,則會傳回相對應的結果。如果找不到相符的項目,它會傳回 "default",如果省略 "default",它會傳回空值。 dump ( expression [ , numeric_expression1 [ , numeric_expression2 [ , numeric_expression3 ] ] ] ) 以 "numeric_expression1" 格式(從位置 "numeric_expression2" 開始的 "numeric_expression3" 個字元)傳回 "expression" 的內部表示法。 greatest ( expression_list ) 傳回 "expression_list" 中的最大值。 initcap ( string_expression ) 傳回 "string_expression",其中每一個單字的首字母都會變成大寫,而其他所有的字母則變成小寫。各個單字之間是以空格或非英數字元來區隔。 instr ( string_expression1, string_expression2 [ , integer_expression1 [ , integer_expression2 ] ] ) 從 "string_expression1" 中的位置 "integer_expression1" 開始搜尋第 "integer_expression2" 次出現 "string_expression2" 的位置。如果 "integer_expression1" 為負數,則會從 "string_expression1" 的結尾處往回搜尋。傳回一個整數,此數字可指出 "string_expression2" 的位置。 instrb ( string_expression1, string_expression2 [ , integer_expression1 [ , integer_expression2 ] ] ) 從 "string_expression1" 中的位置 "integer_expression1" 開始搜尋第 "integer_expression2" 次出現 "string_expression2" 的位置。如果 "integer_expression1" 為負數,則會從 "string_expression1" 的結尾處往回搜尋。傳回找到 "string_expression2" 的位置(位元組數字)。 least ( expression_list ) 傳回 "expression_list" 中的最小值。 length ( string_expression ) 傳回 "string_expression" 中的字元數。 lengthb ( string_expression ) 傳回 "string_expression" 中的位元組數。 lpad ( string_expression1, integer_expression [ , string_expression2 ] ) 傳回在 "string_expression1" 的左側填補 "string_expression2" 以達到 "integer_expression" 所定義的長度之後得到的 "string_expression1"。如果 "string_expression1" 比 "integer_expression" 長,則會傳回相稱部分的 "string_expression1"。 ltrim ( string_expression1 [ , string_expression2 ] ) 傳回 "string_expression1",其中位在第一個不在 "string_expression2" 中的字元之前的所有前導字元均會遭到移除。 範例:ltrim ( 'xyxXxyAB' , 'xy' ) 結果:XxyAB months_between ( date_expression1 , date_expression2 ) 傳回 "date_expression1" 到 "date_expression2" 的月數。如果 "date_expression1" 晚於 "date_expression2" ,則結果將會是正數。天數和時間部分的差異會被忽略,因此不會將月數四捨五入,除非 "date_expression1" 與 "date_expression2" 是當月的最後一天。 new_time ( datetime_expression , old_timezone , new_timezone ) 傳回 "old_timezone" 的 "datetime_expression" 在 "new_timezone" 的日期時間。"Old_timezone" 和 "new_timezone" 可以是下列其中一項:'AST'、'ADT'、'BST'、'BDT'、'CST'、'CDT'、'EST'、'EDT'、'HST'、'HDT'、'MST'、'MDT'、'NST'、'PST'、'PDT'、'YST' 或 'YDT'。 next_day ( datetime_expression , string_expression ) 傳回在 "datetime_expression" 之後由 "string_expression" 命名的第一個工作日的日期時間。傳回的值具有與 "datetime_expression" 相同的格式。 nls_initcap ( string_expression1 [ , string_expression2 ] ) 傳回 "string_expression1",其中每一個單字的首字母都會變成大寫,而其他所有字母則變成小寫。單字會在不是字母的任何字元後開始。因此,除了空格以外,逗點、句號和冒號等符號也可以引出新單字。"String_expression2" 會指定排序順序。 nls_lower ( string_expression1 [ , string_expression2 ] ) 傳回所有字母均為小寫的 "string_expression1"。"String_expression2" 會指定排序順序。 nls_upper ( string_expression1 [ , string_expression2 ] ) 傳回所有字母均為大寫的 "string_expression1"。"String_expression2" 會指定排序順序。 nvl ( expression1 , expression2 ) 如果 "expression1" 不為 NULL,則傳回 "expression1" 的值。如果 "expression1" 為 NULL,則傳回 "expression2" 的值。 範例:nvl ( [Unit sale price] , 0 ) 結果:若銷售單價為 NULL,則傳回銷售單價或傳回 0。 ascii ( string_expression ) 傳回一個數字,此數字代表 "string_expression" 最左側字元的 ASCII 字碼值。 範例:ascii ( 'A' ) 結果:傳回 '65' round ( numeric_expression [ , integer_expression ] ) 傳回四捨五入到小數點右邊第 "integer_expression" 位數的近似值後得到的 "numeric_expression"。如果 "integer_expression" 為負數,則會將 "numeric_expression" 四捨五入到小數點左邊第 "integer_expression" 絕對值位數的近似值。在替資料套用格式之前,請先將它四捨五入。 範例:round ( 125 , -1 ) 結果:傳回 130 soundex ( string_expression ) 傳回包含 "string_expression" 的語音表示法的字串。 {user} { user } 傳回現行 Oracle 使用者的使用者名稱。 replace ( string_expression1 , string_expression2 [ , string_expression3 ] ) 以 "string_expression3" 取代在 "string_expression1" 中出現的所有 "string_expression2"。如果沒有指定 "string_expression3",那麼它會移除出現的所有 "string_expression2"。 reverse ( string_expression ) 反轉 "string_expression" 中所有字元的順序。 rpad ( string_expression1 , integer_expression [ , string_expression2 ] ) 傳回在 "string_expression1" 的右側填補 "string_expression2" 以達到 "integer_expression" 的長度之後得到的 "string_expression1"。如果 "string_expression1" 比 "integer_expression" 長,則會傳回相稱部分的 "string_expression1"。如果沒有指定 "string_expression2",則會以空格來取代出現的 "string_expression2"。 rtrim ( string_expression1 [ , string_expression2 ] ) 傳回 "string_expression1",其中位在最後一個不在 "string_expression2" 中的字元之後的所有結尾字元均會遭到刪除。如果沒有指定 "string_expression2",則會將結尾的空格字元移除。 範例:rtrim ( 'ABxXxyx' , 'xy' ) 結果:傳回 'ABxX' sign ( numeric_expression ) 傳回 "numeric_expression" 的正負號指示符:如果是正數會傳回 +1、如果是零會傳回 0,如果是負數則會傳回 -1。 substr ( string_expression , integer_expression1 [ , integer_expression2 ] ) 傳回 "string_expression" 的子字串,此子字串是從位置 "integer_expression1" 開始取 "integer_expression2" 個字元(如果忽略 "integer_expression2",則是到 "string_expression" 結尾)所得到的字串。"string_expression" 中的第一個字元是在位置 1。 範例:substr ( [Sales (query)].[Sales staff].[Position code], 3 , 5 ) 結果:傳回從第 3 到第 7 個字元的職位代碼。 substrb ( string_expression , numeric_expression1 [ , numeric_expression2 ] ) 傳回 "string_expression" 的子字串,此子字串是從位置 "numeric_expression1",並在 "numeric_expression2" 個位元組之後結束。"string_expression" 中的第一個位元組是在位置 1。如果您省略 "numeric_expression2",則只會傳回 "string_expression" 的子字串,從位置 "numeric_expression1" 開始,結束於 "string_expression" 結尾處。 範例:substrb ( [Sales (query)].[Sales staff].[Position code], 3 , 5 ) 結果:傳回從第 3 到第 7 個字元的職位代碼。 {sysdate} { sysdate } 傳回日期時間值,代表執行資料庫軟體的電腦上的現行日期和時間。 to_char ( expression1 [ , string_expression2 [ , string_expression3 ] ] ) 以 "string_expression2" 的格式傳回 "expression1" 的字串表示法。"Expression1" 可以是日期值或數值。"String_expression3" 會指定格式元素,例如語言。 to_date ( expression1 [ , string_expression2 [ , string_expression3 ] ] ) 將 "expression1" 轉換為依照 "string_expression2" 格式所指定的日期時間值。第一個引數 "expression1" 必須是類型 string 或 numeric。"String_expression3" 會指定格式元素,例如語言。 to_date ( '2013-02-27 15:13:14' , 'YYYY-MM-DD HH24:MI:SS' ) 結果:傳回值為 '2013-02-27 15:13:14' 的日期時間。 to_date ( '2013-02-27 15:13:14' , 'YYYY-MM-DD HH24:MI:SS' , 'NLS_DATE_LANGUAGE = American' ) 結果:傳回值為 '2013-02-27 15:13:14' 的日期時間。 to_number ( string_expression1 , string_expression2 , string_expression3 ) 將 "string_expression1" 轉換為依照 "string_expression2" 格式所指定的數值。"String_expression3" 會指定格式元素,例如貨幣資訊。 translate ( string_expression1 , string_expression2 , string_expression3 ) 傳回 "string_expression1",在此字串中,有出現在 "string_expression2" 中的每一個字元都會被 "string_expression3" 中與此字元相對應的字元所取代。 trunc ( date_expression , string_expression ) 使用 "string_expression" 所指定的格式來截斷 "date_expression"。例如,如果 "string_expression" 是 'year',則會將 "date_expression" 截斷至該年度的第一天。 範例:trunc ( 2003-08-22 , 'year' ) 結果:傳回 2003-01-01。 trunc ( numeric_expression1 , numeric_expression2 ) 使用 "numeric_expression2" 作為精準度來截斷 "numeric_expression1" 的位數。 vsize vsize ( expression ) 傳回 "expression" 內部表示法中的位元組數。"Expression" 必須是字串表示式。
cast_varchar ( expression ) 傳回強制轉型為變數字元之後的 "expression" 值。"Expression" 可以是數字、日期或時間戳記。 cast_date ( expression ) 傳回將 "expression" 強制轉型為日期之後的值。 cast_timestamp ( expression ) 傳回將 "expression" 強制轉型為時間戳記之後的值。"Expression" 可以是字串或日期。 範例:cast_timestamp ( '1999-12-31 23:59:59.23' ) 結果:傳回 31-Dec-99 11:59:59 PM
Oracle 數學函數 log ([ numeric_expression1 , ] numeric_expression2 ) 傳回 "numeric_expression2" 以 "numeric_expression1" 為基數的對數。未指定選用引數 "numeric_expression1" 時,使用的基數是常數 e(其大約等於 2.71282)。
Oracle 三角函數 acos ( numeric_expression ) 傳回 "numeric_expression" 的反餘弦值,以弧度表示。反餘弦值是其餘弦值為 "numeric_expression" 的角度。 asin ( numeric_expression ) 傳回 "numeric_expression" 的反正弦值,以弧度表示。反正弦值是其正弦值為 "numeric_expression" 的角度。 atan ( numeric_expression ) 傳回 "numeric_expression" 的反正切值,以弧度表示。反正切值是其正切值為 "numeric_expression" 的角度。 atan2 ( numeric_expression1 ,numeric_expression2 ) 傳回分別由 "numeric_expression1" 和 "numeric_expression2" 指定的 x 座標和 y 座標的反正切值,以弧度表示。反正切值是其正切值為 "numeric_expression2" / "numeric_expression1" 的角度。 cos ( numeric_expression ) 傳回 "numeric_expression" 的餘弦值,其中 "numeric_expression" 是以弧度表示的角度。 cosh ( numeric_expression ) 傳回 "numeric_expression" 的雙曲線餘弦值,其中 "numeric_expression" 是以弧度表示的角度。 sin ( numeric_expression ) 傳回 "numeric_expression" 的正弦值,其中 "numeric_expression" 是以弧度表示的角度。 sinh ( numeric_expression ) 傳回 "numeric_expression" 的雙曲線正弦值,其中 "numeric_expression" 是以弧度表示的角度。 tan ( numeric_expression ) 傳回 "numeric_expression" 的正切值,其中 "numeric_expression" 是以弧度表示的角度。 tanh ( numeric_expression ) 傳回 "numeric_expression" 的雙曲線正切值,其中 "numeric_expression" 是以弧度表示的角度。