编码转换问题,再次请教
我有几百万条数据
以前编码规则是
省 市、县、乡、村、组、农户
2 2 2 3 3 3 3
如:湖南省汝城县岭秀乡宝南村狐狸组张三的编号为:
431106031025002031
要转换为
省 市、县、乡、村、组、农户
2 2 2 2 2 2 3
即:转换为:431106312502031
也就是说要去掉第7位、第10位、第13位数字
------解决方案----------------------查詢
Select
Stuff(Stuff(Stuff(ColumnName, 7, 1, ' '), 9 ,1 , ' '), 11, 1, ' ') From TableName
--更新
Update TableName Set ColumnName = Stuff(Stuff(Stuff(ColumnName, 7, 1, ' '), 9 ,1 , ' '), 11, 1, ' ')
------解决方案--------------------楼上顺序错了
declare @str varchar(50)
select @str = '431106031025002031 '
,@str = stuff(@str,13,1, ' ')
,@str = stuff(@str,10,1, ' ')
,@str = stuff(@str,7,1, ' ')
select @str
------解决方案--------------------declare @str varchar(8000)
set @str= '431106031025002031 '
select substring(@str,1,6)+substring(@str,8,2)+substring(@str,11,2)+substring(@str,14,5)