ORACLE日期和时间的相关查询

2025-11-18 14:38:12

1、在session 中修改时间格式:

alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

ORACLE日期和时间的相关查询

2、获取当前月份的第一天:

SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month" FROM DUAL;

ORACLE日期和时间的相关查询

3、获取当前年份的第一天:

SELECT TRUNC (SYSDATE, 'YEAR') "Year First Day" FROM DUAL;

ORACLE日期和时间的相关查询

4、获取当前年份的最后一天:

SELECT ADD_MONTHS (TRUNC (SYSDATE, 'YEAR'), 12) - 1 "Year Last Day" FROM DUAL;

ORACLE日期和时间的相关查询

5、获取当前月份的天数:

SELECT CAST (TO_CHAR (LAST_DAY (SYSDATE), 'dd') AS INT) number_of_days FROM DUAL;

ORACLE日期和时间的相关查询

6、获取当前月份剩下的天数:

SELECT SYSDATE,

       LAST_DAY (SYSDATE) "Last",

       LAST_DAY (SYSDATE) - SYSDATE "Days left"

  FROM DUAL;

ORACLE日期和时间的相关查询

7、获取两个日期之间的天数:

alter session set NLS_DATE_LANGUAGE='AMERICAN';

SELECT ROUND ( (MONTHS_BETWEEN ('01-Feb-2014', '01-Mar-2012') * 30), 0)

          num_of_days

FROM DUAL;

ORACLE日期和时间的相关查询

8、获取直到目前为止今天过去的秒数(从 00:00 开始算):

SELECT (SYSDATE - TRUNC (SYSDATE)) * 24 * 60 * 60 num_of_sec_since_morning FROM DUAL;

ORACLE日期和时间的相关查询

9、获取今天剩下的秒数(直到 23:59:59 结束):

SELECT (TRUNC (SYSDATE+1) - SYSDATE) * 24 * 60 * 60 num_of_sec_left FROM DUAL;

ORACLE日期和时间的相关查询

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢