to_char、to_date、 to_timestamp 总结

PS:在oracle中做的测试

一、to_date(A,B)

以下内容中,to_date可以替换成to_timstamp,只有在第一个小测试中报错内容不一样

  • A有带连接符,b不带:一定报错
select to_date('2012-03-11','yyyymmdd') from dual  /*ORA-01843: 无效的月份*/
select to_date('2012.03.11','yyyymmdd') from dual 
/*
用to_date报错:ORA-01858: 在要求输入数字处找到非数字字符
用to_timestamp报错:ORA-01843: 无效的月份
*/
  • AB都不带连接符:A必须一一对应
select to_date('20120311','yyyymmdd') from dual 
select to_date('2012311','yyyymmdd') from dual  /*ORA-01843: 无效的月份*/
  • A不带,B带
select to_date('20120311','yyyy-mm-dd') from dual
select to_date('20120311','yyyy.mm.dd') from dual
select to_date('20120311','yyyy mm dd') from dual
  • AB都带:AB不对应好:即:07能对应mm,7也能对应mm
select to_date('2012-3-11','yyyy-mm-dd') from dual 
select to_date('2012.3.11','yyyy mm dd') from dual

总结:
1.A有带连接符,B一定要有,随便是什么连接符。而且mm,dd不一定要对应位数。07可以对应mm,7同样可以对应mm。我们可以把空格理解为一个空的连接符。
2.不带连接符的必须一一位数对应,B带不带连接符均可。07可以匹配mm,但7就不可以匹配mm。
最终总结:
B一直需要带连接符,除非A是这样子:20170702。

二、to_char

1.日期转换 to_char(A,B)

select to_char(sysdate,'yyyy.mm.dd') from dual

总结:只要A是个日期型的,B中间加不加连接符,加什么连接符都可以(-, *)

2.处理数字

select to_char(12345) from dual
运行结果:12345
select to_char(12345678,'999,999,999,999')  from dual
运行结果:12,345,678

3.进制转换:将10进制转换为16进制

select to_char(123,'xxx') from dual;
运行结果:4d2

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oracle中的to_timestamp函数是将字符串转换为时间戳类型的函数。它可以将指定格式的字符串转换为时间戳类型,以便在数据库中进行日期和时间的计算和比较。to_timestamp函数的语法如下: to_timestamp(string, format) 其中,string是要转换的字符串,format是字符串的格式。to_timestamp函数返回一个时间戳类型的值。 ### 回答2: to_timestamp是Oracle数据库中的一个函数,用于将字符串转化为时间戳数据类型。 to_timestamp函数的语法为: to_timestamp(字符串,格式模板) 其中,字符串是要转化为时间戳的字符串,格式模板是表示字符串的格式,例如'YYYY-MM-DD'表示字符串的格式为年-月-日。 to_timestamp函数可以将合法的字符串转化为时间戳,但如果字符串不符合格式模板要求,则会报错。 例如,使用to_timestamp函数将字符串'2021-10-15'转化为时间戳,可以使用以下语句: to_timestamp('2021-10-15','YYYY-MM-DD') 该语句将返回一个时间戳类型的值,表示2021年10月15日。 to_timestamp函数在处理时间字符串时非常有用,可以将字符串转化为可以进行日期和时间运算的时间戳类型。同时,它还可以用于将时间字符串转化为指定格式的日期字符串。 总之,to_timestamp函数是Oracle数据库中一个重要的函数,通过它可以将合法的时间字符串转化为时间戳类型,方便进行日期和时间的处理和计算。 ### 回答3: Oracle中的to_timestamp函数是用来将字符类型的日期数据转换为日期类型的函数。to_timestamp函数的语法为: to_timestamp(string, format) 其中,string是要转换的日期字符串,format是日期字符串的格式。 to_timestamp函数可以将各种格式的日期字符串转换为日期类型,如:'2022/10/01'、'22-10-01'、'20221001'等。需要注意的是,在使用to_timestamp函数时,要确保日期字符串和format参数的格式相匹配,否则会出现转换错误。 以下是to_timestamp函数的示例使用方法: 1. 将字符类型的日期字符串转换为日期类型: select to_timestamp('2022/10/01', 'YYYY/MM/DD') from dual; 2. 将字符类型的日期字符串转换为带有时分秒的日期类型: select to_timestamp('2022/10/01 12:34:56', 'YYYY/MM/DD HH24:MI:SS') from dual; 3. 将字符类型的日期字符串转换为带有时区的日期类型: select to_timestamp('2022/10/01 12:34:56 +08:00', 'YYYY/MM/DD HH24:MI:SS TZH:TZM') from dual; 需要注意的是,to_timestamp函数返回的是timestamp类型的值,如果需要将其作为日期类型使用,可以使用to_date函数进行转换: select to_date(to_timestamp('2022/10/01 12:34:56', 'YYYY/MM/DD HH24:MI:SS'), 'YYYY-MM-DD') from dual; 总之,to_timestamp函数是Oracle中用于将字符类型的日期数据转换为日期类型的函数,可以通过指定日期字符串的格式来实现转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值