当前位置: 代码迷 >> Sql Server >> 数据导入后字符处理有关问题
  详细解决方案

数据导入后字符处理有关问题

热度:37   发布时间:2016-04-27 11:27:42.0
数据导入后字符处理问题求助
一、数据库结构:
1、新导入的数据库A,含有字段“用户资料”,字段内容为“姓名/性别/年龄/部门”
2、系统自有数据库B,内有字段“姓名”“性别”“年龄”“部门”
二、问题:
由于要定期从其他地方导入用户资料数据,且数据有点大,但是两表格式不一致,请问有没有办法用SQL语句分离A表的数据,然后更新或者插入到B表。

------解决方案--------------------
replace(字段,/," ")
------解决方案--------------------
SQL code
declare @A table(UserInfo nvarchar(50))insert into @Aselect N'小王/男/24/Depart1' unionselect N'小李/男/28/Depart2' unionselect N'小张/男/29/Depart3'declare @B table(name nvarchar(4),sex nvarchar(1),age int,department nvarchar(20))insert into @Bselect name,substring(replace(UserInfo,name+'/',''),0,charindex('/',replace(UserInfo,name+'/',''))) sex,    reverse(substring(reverse(replace(UserInfo,'/'+department,'')),0,charindex('/',reverse(replace(UserInfo,'/'+department,''))))) age,departmentfrom(    select substring(UserInfo,0,charindex('/',UserInfo)) name,         reverse(substring(reverse(UserInfo),0,charindex('/',reverse(UserInfo)))) department,UserInfo     from @A) tselect * from @B/*name sex  age         department---- ---- ----------- --------------------小李   男    28          Depart2小王   男    24          Depart1小张   男    29          Depart3*/
------解决方案--------------------
写一个函数将/分隔的字符串返回为表
然后使用该函数将A表的数据转换为视图的形式,用于B或其它用途.
  相关解决方案