[Oracle] 获取系统当前日期

获取Oracle系统当前日期,我们可以考虑使用SYSDATE的参数

SELECT 
    SYSDATE AS sdate,                                 -- 系统完整日期时间
    TO_CHAR(SYSDATE, 'YYYY')  AS "sdate_year4",       -- 年(4位)
    TO_CHAR(SYSDATE, 'YY')    AS "sdate_year2",       -- 年(2位)
    TO_CHAR(SYSDATE, 'MM')    AS "sdate_month2",      -- 月(数字)
    TO_CHAR(SYSDATE, 'MON')   AS "sdate_mon",         -- 月(数字+月)
    TO_CHAR(SYSDATE, 'DD')    AS "sdate_day",         -- 日
    TO_CHAR(SYSDATE, 'IW')    AS "sdate_week",        -- 周数
    TO_CHAR(SYSDATE, 'Q')     AS "sdate_quarter",     -- 季度(1-4)
    -- 季节
    CASE 
        WHEN TO_CHAR(SYSDATE, 'MM') IN ('12','01','02') THEN '冬季'
        WHEN TO_CHAR(SYSDATE, 'MM') IN ('03','04','05') THEN '春季'
        WHEN TO_CHAR(SYSDATE, 'MM') IN ('06','07','08') THEN '夏季'
        ELSE '秋季'
    END AS "sdate_season",
    TO_CHAR(SYSDATE, 'AM')    AS "sdate_ampm",        -- AM/PM
    TO_CHAR(SYSDATE, 'HH24')  AS "sdate_hour24",      -- 小时(24小时制)
    TO_CHAR(SYSDATE, 'MI')    AS "sdate_minute",      -- 分钟
    TO_CHAR(SYSDATE, 'SS')    AS "sdate_second",      -- 秒钟
    TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'MM'), 1) - 1, 'DD') AS "sdate_month_days",  -- 当月天数
    TO_CHAR(LAST_DAY(SYSDATE), 'MM-DD') AS "sdate_last_day_of_month",              -- 当月最后一天
    -- YYYY-MM-DD HH:MI:SS
    TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')AS "sdate_iso_format",                
    -- YYYY年MM月DD日
    TO_CHAR(SYSDATE, 'YYYY"年"MM"月"DD"日"') AS "sdate_chinese_format"             
FROM DUAL;

日期时间也可进行加减乘除的运算

-- 当前时间减去6分钟的时间
SELECT sysdate, sysdate - interval '6' minute AS res1 FROM dual;
-- 当前时间减去6小时的时间
SELECT sysdate, sysdate - interval '6' hour AS res2 FROM dual;
-- 当前时间减去6天的时间
SELECT sysdate, sysdate - interval '6' day AS res3 FROM dual;
-- 当前时间减去6月的时间
SELECT sysdate, sysdate - interval '6' month AS res4 FROM dual;
-- 当前时间减去6年的时间
SELECT sysdate, sysdate - interval '6' year AS res5 FROM dual;
-- 时间间隔乘以一个数字
SELECT sysdate, sysdate - 8*interval '6' hour AS res6 FROM dual;

输出结果:

补充扩展:Oracle获取当月所有日期

SELECT TRUNC(SYSDATE, 'MM') + ROWNUM - 1 FROM DUAL CONNECT BY ROWNUM <= TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE), 'dd'));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值