oracle:日期

来源:互联网 发布:linux删除非空文件夹 编辑:程序博客网 时间:2024/06/05 19:55

日期:
1.使用TO_CHAR()将时间值转换为字符串

select TO_CHAR(sysdate,'MONTH DD, YYYY, HH24:MI:SS') from dual;TO_CHAR(SYSDATE,'MONTH-----------------------11月03,2017,18:15:00

2.使用TO_DATE()将字符串转换为时间值
日期默认数据库格式:DD-MON-YYYY 或DD-MON-YY
可以修改NLS_DATE_FORMAT进行修改格式

select TO_DATE('7.4.13','MM.DD.YY') from dual;TO_DATE('7.4.13','MM.DD.YY')-------------------------------2013/7/4

如何修改默认数据库日期格式
方法一:在数据库中的init.ora或 spfile.ora文件中设置这个参数的值。
方法二:DBA使用ALTER SYSTEM命令对NLS_DATE_FORMAT进行修改。
方法三:使用SQL*Plus

SQL>ALTER SESSION SET NLS_DATE_FORMAT = 'MONTH-DD-YYYY';Session altered

时间值函数
1.ADD_MONTHS()
ADD_MONTHS(x,y)用于计算x加上y个月的结果。如果y是负数,就从x中减去y个月

select ADD_MONTHS(sysdate, 1) from dual;ADD_MONTHS(SYSDATE,1)---------------------2017/12/3 18:29:34

2.LAST_DAY()
LAST_DAY(x):函数用于计算包含x的月份的最后一天。

select LAST_DAY(sysdate) from dual;LAST_DAY(SYSDATE)-------------------2017/11/30 18:31:23

3.MONTHS_BETWEEN()
MONTHS_BETWEENT(x,y):用于计算x和y之间有几个月。

select MONTHS_BETWEEN(sysdate, sysdate) as temp from dual;TEMP-----0

4.NEXT_DAY()
NEXT_DAY():用于计算从x开始,下一个day’的日期。
5.ROUND()
ROUND():用于对x取整。
6.SYSDATE
SYSDATE :返回数据库服务器的操作系统中设置的当前时间值。
7.TRUNC()
TRUNC():用于对x的截断。