oracle中to_date与to_char

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(日期,"转换格式" )    //即把给定的日期按照“转换格式”转换。

 

oracle中to_date与to_char

上一篇:Arrays工具类的使用2


下一篇:数据存储_PostgreSQL基本内容