oracle的字符串时间格式处理、date和varchar格式相互转换

文章描述了一个在Oracle数据库环境中合并两张表的过程,特别关注了apply_date字段的时间格式转换。使用to_char和to_date函数将原表和新表的apply_date字段从varchar格式转换为日期格式,然后重新格式化为yyyy-MM-ddHH24:mi:ss的样式,以满足新表的要求。当表记录不匹配时,未匹配的记录会被插入到原表中。
摘要由CSDN通过智能技术生成

【任务要求】

merge两张表,

原表的字段apply_date格式为varchar(20),数据为20200118115551,

新表的字段apply_date格式为varchar(20),要求数据显示为2020-01-18 11:55:51。

【思路】

将原表的数据转为date,再转为varchar。

【写法】

merge into 原表table1 t1 using 新表table2 t2 on t1.name = t2.name
update set 
	t1.name = t2.name,
	t1.apply_date = to_char(to_date(t2.apply_date, 'yyyyMMddHH24miss'), 'yyyy-MM-dd HH24:mi:ss')
when not matched then
insert (t1.name, t1.apply_date)
values( 
	t2.name,
	to_char(to_date(t2.apply_date, 'yyyyMMddHH24miss'), 'yyyy-MM-dd HH24:mi:ss')
)

【注意点】

  • oracle中format数据转换的语法是to_char、to_date等等
  • oracle这时间格式不是yyyy-MM-dd HH:mm:ss这种,而是yyyy-MM-dd HH24:mi:ss,否则会报错
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值