4.类型转换函数
to_char 将日期或者数值转换为日期字符串
to_number 将数字字符串转换为数字
to_date 将日期字符串转换为日期
to_char 将日期或者数值转换为日期字符串
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
结果:2022-05-05 22:08:13
select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;
结果:2022/05/05 22:09:09
select to_char(add_months(sysdate,1),'yyyy-mm-dd hh24:mi:ss') from dual;
结果:2022-06-05 22:20:18
to_number 将字符串转换为数字
select to_number('1234567')from dual;
结果:1234567
to_date 将日期字符串转换为日期
select to_date('2022-06-05 ','yyyy-mm-dd ') from dual;
结果:2022/6/5
select to_date('2022-06-05 22:20:18','yyyy-mm-dd hh24:mi:ss') from dual;
结果:2022/6/5 22:20:18
select to_date(sysdate-2) from dual;
结果:2022/5/3
select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') from dual;
结果:2022-05-01 00:00:00
select to_date(to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual;
结果:2022/5/1
正确的写法如下:
select to_date(to_char(trunc(sysdate,'mm'),'yyyy-mm-dd '),'yyyy-mm-dd ') from dual;
结果:2022/5/1
注:虽然两个SQL的结果都一样,但上一个SQL加上时分秒,等于没加,应为trunc函数截取到月,则时分秒就不存在。