sqlserver中将数据为12-May 修改为2012-05形式

本文介绍了在SQLServer中如何将数据格式从12-May转换为2012-05的形式。操作前务必备份数据,利用SUBSTRING函数进行字符串截取,并结合临时表和JOIN进行更新。由于update set方式可能较慢,选择了merge into的方法来高效处理大量数据。
摘要由CSDN通过智能技术生成
	
总结:1、在对数据进行修改之前一定要备份一下,sqlserver进行备份方式不是create table as的形式
而是使用select * into target_tab from source_tab,这一次幸好先进行备份,数据更新有些失误,要的是2012-01这种形式,直接更新成12-01
2、使用截取函数和oracle不一样,是SUBSTRING函数。
3、查询时不需要dual表,这个和GP库比较类似
4、百度了很多字符串转换为日期类型,但是都必须是date or timestamp形式,不符合规范,后来有一种思路如下:也是借鉴过来的,但是忘记最初的
地址了,只是借鉴了t表的码表数据, 通过使用merger into的方式进行更新(因为update set的话涉及传值,200万数据量比较慢,也比较着急所以也没进行测试)
select '20'+SUBSTRING(idl.case_open_month,1,3)+t.num ,case_open_month from (select '01'num,'JAN'str union all
	select '02','FEB' union all
	select '03','MAR' union all
	select '04','APR' union all
	select '05','MAY' union all
	select '06','JUN' union all
	select '07','JUL' union all
	select '08','AUG' union all
	selec
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值