1、to_date() 函数 (俗称:日期转换函数)
格式:to_date("要转换的字符串","转换的格式") //两个参数的格式必须匹配,否则会报错。即按照第二个参数的格式解释第一个参数。
-- 根据时间查询 select to_date(‘2020-11-10,13:25:59‘,‘yyyy-mm-dd,hh24:mi:ss‘) from dual -- 返回结果:2020-11-10,13:25:59 //hh24表示:时间是24小时制的 select to_date(‘2020-11-10,01:25:59‘,‘yyyy-mm-dd,hh:mi:ss‘) from dual -- 返回结果:2020-11-10 01:25:59 //去掉24的结果 -- 查询当前系统时间。 sysdate:系统时间
select to_date(‘2020-11-10,13:25:59‘,‘yyyy-mm-dd,hh24:mi:ss‘) as newTime from dual; //输出:2020-11-10,13:25:59
select to_date(‘2020-11-10,13:25:59‘,‘yyyy-mm-dd,hh:mi:ss‘) as newTime from dual; // 小时值必须介于 1 和 12 之间
select to_date(‘2020-11-10,13:25:59‘,‘yyyy-mm-dd,hh24:mi‘) as newTime from dual; // 日期格式图片在转换整个输入字符串之前结束
select to_date(‘2020-11-10,13:25‘,‘yyyy-mm-dd hh24:mi‘) as newTime from dual; //输出:2020-11-10,13:25:00
select to_date(‘2020-11-10,13‘,‘yyyy-mm-dd hh24‘) as newTime from dual; //输出:2020-11-10,13:00:00
select to_date(‘2020-11-10‘,‘yyyy-mm-dd‘) as newTime from dual; //输出:2020-11-10,00:00:00
select to_date(‘2020-11‘,‘yyyy-mm‘) as newTime from dual; //输出:2020-11-01,00:00:00
select to_date(‘2020‘,‘yyyy‘) as newTime from dual; //输出:2020-11-01,00:00:00
表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年 表示month的:mm 用2位数字表示月; -- MySQL 月份用大 MM 表示 表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 表示hour的:hh 2位数表示小时 12进制; hh24 2位数表示小时 24小时 -- MySQL 小时用大 HH 表示 表示minute的:mi 2位数表示分钟 -- MySQL 分钟用 mm 表示 表示second的:ss 2位数表示秒 60进制 表示季度的:q 一位数 表示季度 (1-4) 另外还有 ww 用来表示当年第几周 w用来表示当月第几周。
1 select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) as nowTime from dual; //日期转化为字符串 //结果输出: 2020-11-10 18:37:25 2 select to_char(sysdate,‘yyyy‘) as nowYear from dual; //获取年的最后4位 //结果输出:2020 3 select to_char(sysdate,‘yyy‘) as nowYear from dual; //获取年的最后3位 //结果输出:020 4 select to_char(sysdate,‘yy‘) as nowYear from dual; //获取年的最后2位 //结果输出:20 5 select to_char(sysdate,‘y‘) as nowYear from dual; //获取年的最后1位 //结果输出:0 6 select to_char(sysdate,‘mm‘) as nowMonth from dual; //获取时间的月 //结果输出:11 7 select to_char(sysdate,‘dd‘) as nowDay from dual; //获取时间的日 //结果输出:10 8 select to_char(sysdate,‘ddd‘) as nowDay from dual; //获取当年第几天 //结果输出:315 9 select to_char(sysdate,‘dy‘) as nowDay from dual; //获取当周第几天 //结果输出:星期二 10 select to_char(sysdate,‘hh24‘) as nowHour from dual; //获取时间的时 //结果输出:18 // MySQL 小时用大 HH 表示 11 select to_char(sysdate,‘hh‘) as nowHour from dual; //获取时间的时 //结果输出:06 12 select to_char(sysdate,‘mi‘) as nowMinute from dual; //获取时间的分 //结果输出:37 -- MySQL 分钟用 mm 表示 13 select to_char(sysdate,‘ss‘) as nowSecond from dual; //获取时间的秒 //结果输出:25
--求某天是星期几
select to_char(to_date(‘2020-11-10‘,‘yyyy-mm-dd‘),‘day‘) as xingQi from dual; //结果输出:星期二
--设置日期语言
ALTER SESSION SET NLS_DATE_LANGUAGE=‘AMERICAN‘;
或 TO_DATE (‘2002-08-26‘, ‘YYYY-mm-dd‘, ‘NLS_DATE_LANGUAGE = American‘)
--两个日期间的天数
select floor(sysdate - to_date(‘20201101‘,‘yyyymmdd‘)) as day from dual; //结果输出:9
2、 to_char() 函数 (俗称:字符串转换函数)
格式:to_char(日期,"转换格式" ) //即把给定的日期按照“转换格式”转换。