当前位置:Gxlcms > 数据库问题 > Oracle 19C学习 - 04. SQL单行函数

Oracle 19C学习 - 04. SQL单行函数

时间:2021-07-01 10:21:17 帮助过:29人阅读

05-MAY-21,DD-MM-RR) FROM dual; TO_DATE(05-MAY-21 ------------------- 2021-05-05 00:00:00 SQL> SELECT TO_DATE(05-MAY-51,DD-MM-RR) FROM dual; TO_DATE(05-MAY-51 ------------------- 1951-05-05 00:00:00

 

 

可以通过TO_DATE(‘2021-5-1’, ‘YYYY-MM-DD’) 来将字符串数据转换为日期类型数据。

 

SELECT SESSIONTIMEZONE, CURRENT_DATE, CURRENT_TIMESTAMP FROM dual;

SESSIONTIMEZONE:返回当前时区。Asia/Shanghai

CURRENT_DATE:返回当前日期和时间。02-5月 -21

CURRENT_TIMESTAMP:返回当前时间戳。 02-5月 -21 05.25.09.931610000 下午 ASIA/SHANGHAI

 

日期函数

MONTHS_BETWEEN(DATE1, DATE2) :获取两个日期之间的月份差

SELECT CEIL(MONTHS_BETWEEN(sysdate, hire_date))
FROM employees ORDER BY 1;

 

ADD_MONTHS(DATE, n) : 在日期上增加n个月。

SELECT ADD_MONTHS(sysdate,7) FROM dual;   --02-12月-21

 

NEXT_DAY(日期, 星期几): 查找下一个星期几对应的日期。

SELECT NEXT_DAY(sysdate, ‘星期五‘) FROM dual;    --07-5月-21

 

LAST_DAY(日期) : 查找当月最后一天日期

SELECT LAST_DAY(sysdate) FROM dual;  --2021-05-31 18:50:44  (当前日期2021-5-2)

 

ROUND(日期, ‘MONTH‘) : 1~15日的日期,返回本月一日。16~31的日期,返回下个月一日。

ROUND(日期, ‘YEAR‘) : 1.1~6.30的日期,返回当年1.1日。7.1~12.31的日期,返回下年的1.1日。

SELECT ROUND(TO_DATE(2021-7-1,YYYY-MM-DD),YEAR) FROM dual;

ROUND(TO_DATE(2021
-------------------
2022-01-01 00:00:00

SQL> SELECT ROUND(TO_DATE(2021-5-15,YYYY-MM-DD),MONTH) FROM dual;

ROUND(TO_DATE(2021
-------------------
2021-05-01 00:00:00

 

 

TRUNC(日期, ‘MONTH‘) : 返回当个月的第一天日期,相对于ROUND,TRUNC不进行四舍五入。

TRUNC(日期, ‘YEAR‘) : 返回年的第一天日期,相对于ROUND,TRUNC不进行四舍五入。

SELECT TRUNC(TO_DATE(2021-5-31,YYYY-MM-DD),MONTH) FROM dual;

TRUNC(TO_DATE(2021
-------------------
2021-05-01 00:00:00

SQL> SELECT TRUNC(TO_DATE(2021-12-31,YYYY-MM-DD),YEAR) FROM dual;

TRUNC(TO_DATE(2021
-------------------
2021-01-01 00:00:00

 

 

日期的计算

从日期添加或者减去一个数字,得到结果的日期值。

SELECT sysdate+2 FROM dual;   --当前2021.5.2, 加2后得到04-5月 -21。

 

日期之间相减,得到之间相差的天数。

SELECT CEIL((sysdate - hire_date)/7) AS 入职周数 FROM employees;     

SELECT TO_DATE(2021-05-01,YYYY-MM-DD) - TO_DATE(2021-04-30,YYYY-MM-DD) AS 日期差异 FROM dual;

  日期差异
----------
         1

 

Oracle 19C学习 - 04. SQL单行函数

标签:sha   oracl   UNC   判断   类型   相减   mat   acl   日期格   

人气教程排行