日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle常用函数

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle常用函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle常用函數

官方文檔

函數說明示例
ABSABS(num) 返回絕對值SELECT ABS(-12) FROM dual; – 12
MODMOD(num1, num2) 返回余數
注意:返回值的正負僅由第一個參數決定
SELECT MOD(10, 3) FROM DUAL; – 1
SELECT MOD(10, -3) FROM DUAL; – 1
SELECT MOD(-10, 3) FROM DUAL; – -1
SELECT MOD(-10, -3) FROM DUAL; – -1
REMAINDERREMAINDER(n2, n1) 取余,用法同MOD
CEILCEIL(num) 返回大于或等于的最小整數SELECT CEIL(15.2) FROM DUAL; – 16
FLOORFLOOR(num) 返回小于或等于的最大整數SELECT FLOOR(15.8) FROM DUAL; – 15
ROUND (number)ROUND(n [, integer ]) 四舍五入SELECT ROUND(14.15, 1) FROM DUAL; – 14.2
SELECT ROUND(14.15, -1) FROM DUAL; – 10
SELECT ROUND(14.15) FROM DUAL; – 14
TRUNC (number)TRUNC(n1 [, n2 ]) 數字截取SELECT TRUNC(16.88) FROM DUAL; – 16
SELECT TRUNC(16.88, 1) FROM DUAL; – 16.8
SELECT TRUNC(16.88, -1) FROM DUAL; – 10
POWERPOWER(num1, num2) 返回num1的num2次方SELECT POWER(3, 2) FROM DUAL; – 9
SQRTSQRT(n) 返回n的平方根SELECT SQRT(9) FROM DUAL; – 3
LOWERLOWER(char) 轉小寫
UPPERUPPER(char) 轉大寫
CONCATCONCAT(char1, char2) 拼接字符串
SUBSTR字符串截取SELECT SUBSTR(‘ABCDEFGHIJK’, 0, 1) FROM DUAL; – A
SELECT SUBSTR(‘ABCDEFGHIJK’, 1, 1) FROM DUAL; – A
SELECT SUBSTR(‘ABCDEFGHIJK’, 1, 0) FROM DUAL; – null
SELECT SUBSTR(‘ABCDEFGHIJK’, 1, -1) FROM DUAL; – null
SELECT SUBSTR(‘ABCDEFGHIJK’, 2, 1) FROM DUAL; – B
SELECT SUBSTR(‘ABCDEFGHIJK’, 2, 0) FROM DUAL; – null
REPLACEREPLACE(char, search_string [,replacement_string ])SELECT REPLACE(‘JACK and JUE’,‘J’,‘BL’) FROM DUAL;
– BLACK and BLUE
TRIMTRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source )
LTRIMLTRIM(char [, set ]) 左修剪
RTRIMLTRIM(char [, set ]) 右修剪
LPADLPAD(expr1, n [, expr2 ]) 左填充
expr2省略時填充空字符串,expr1的長度大于n時,將截取expr1
SELECT LPAD(‘123456’, 2) FROM DUAL; – 12
SELECT LPAD(‘123456’, 10, ‘E’) FROM DUAL; – EEEE123456
RPADLPAD(expr1, n [, expr2 ]) 右填充
INSTRinstr(str,subStr,pos),從第pos位開始查找str中subStr首次出現的位置
LENGTH字符串長度
SYSDATE系統時間
LAST_DAY月份最后一天 LAST_DAY(date)
NEXT_DAY下一個指定日期,星期日=1,星期一=2,依此類推
NEXT_DAY(date, char)
SELECT NEXT_DAY(SYSDATE, 7) FROM DUAL;
ADD_MONTHSADD_MONTHS(date, integer) 添加月份
MONTHS_BETWEEN兩日期月份差 MONTHS_BETWEEN(date1, date2)
EXTRACT (datetime)提取日期時間
EXTRACT({ YEAR | MONTH | DAY | HOUR | MINUTE | SECOND | TIMEZONE_HOUR | TIMEZONE_MINUTE | TIMEZONE_REGION | TIMEZONE_ABBR } FROM { expr } )
SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL;
ROUND (date)四舍五入 ROUND(date [, fmt ])
TRUNC (date)截取日期SELECT trunc(sysdate, ‘yyyy’) FROM dual; – 返回當年第一天
SELECT trunc(sysdate, ‘mm’) FROM dual; – 返回當月第一天
SELECT trunc(sysdate, ‘dd’) FROM dual; – 返回當前年月日
SELECT trunc(sysdate, ‘hh’) FROM dual; – 返回當前日期截取到小時,分秒補0
SELECT trunc(sysdate, ‘mi’) FROM dual; – 返回當前日期截取到分,秒補0
TO_CHAR (datetime)日期轉字符串to_char(sysdate,‘yyyy-MM-dd’)
to_char(sysdate,‘yyyy-MM-dd HH:mm:ss’)
TO_DATE轉日期to_date(‘2005-10-02’,‘yyyy-MM-dd’)
to_date(‘2005-10-02,13:25:59’,‘yyyy-MM-dd HH24:mi:ss’)
CAST類型轉換 CAST({ expr | MULTISET (subquery) } AS type_name [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, ‘nlsparam’ ] ])select cast(1212345.61 as varchar2(15)) FROM dual;
BIN_TO_NUM二進制轉十進制 BIN_TO_NUM(expr [, expr ]… )
DECODEDECODE(expr, search, result [, search, result ]… [, default ])SELECT DECODE(3,3,1) FROM DUAL; – 1
SELECT DECODE(3,2,1) FROM DUAL; – NULL
SELECT DECODE(3,3,1,0) FROM DUAL; – 1
SELECT DECODE(3,2,1,0) FROM DUAL; – 0
NVLNVL(expr1, expr2)SELECT NVL(‘S’, ‘R’) FROM DUAL; – S
SELECT NVL(NULL, ‘R’) FROM DUAL; – R
NVL2NVL2(expr1, expr2, expr3)SELECT NVL2(‘S’, ‘R1’, ‘R2’) FROM DUAL; – R1
SELECT NVL2(NULL, ‘R1’, ‘R2’) FROM DUAL; – R2
COALESCE至少兩個參數,返回第一個不為null的expr
COALESCE(expr [, expr ]…)
SELECT COALESCE(NULL, ‘SS’, NULL, ‘DD’) FROM DUAL; – SS
NULLIFNULLIF(expr1, expr2) expr1=expr2返回null,否則返回expr1SELECT NULLIF(3, 3) FROM DUAL; – NULL
SELECT NULLIF(3, 5) FROM DUAL; – 3
LISTAGG拼接字符串 LISTAGG (measure_column [, ‘delimiter’])
WITHIN GROUP (ORDER BY order_by_clause) [OVER ( query_partition_clause)]
SELECT age,LISTAGG(name, ‘;’) WITHIN GROUP (ORDER BY age) OVER(PARTITION BY AGE) FROM temp_dep;
WM_CONCAT拼接字符串SELECT WM_CONCAT(NAME) FROM temp_dep ORDER BY age;
SELECT depid,WM_CONCAT(NAME) FROM temp_dep GROUP BY depId ORDER BY depid;
MERGE INTOMERGE [ hint ] INTO [ schema. ] { table | view } [ t_alias ] USING { [ schema. ] { table | view } | subquery } [ t_alias ] ON ( condition ) [ merge_update_clause ] [ merge_insert_clause ] [ error_logging_clause ] ;MERGE INTO people_target pt
USING people_source ps
ON (pt.person_id = ps.person_id)
WHEN matched THEN UPDATE
SET pt.first_name = ps.first_name,
pt.last_name = ps.last_name,
pt.title = ps.title
WHEN NOT matched THEN INSERT
(pt.person_id, pt.first_name, pt.last_name, pt.title)
VALUES (ps.person_id, ps.first_name, ps.last_name, ps.title);

總結

以上是生活随笔為你收集整理的Oracle常用函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。