【发布时间】:2020-10-06 19:33:23
【问题描述】:
我正在尝试将值从单个列获取到多个列中,并将值作为字段名称。我见过许多与此类似的不同问题,因此尝试了所有选项,但没有任何帮助。
例如,
Details Field value: FirstName:John|LastName:Mike|DateOfBirth:09/09/1980|Department:IT|
预期如下,
Create table Employee(Details varchar(200), [address] varchar(50), Status# int)
insert into Employee(Details,[address], [Date] )
values ('FirstName:John|LastName:Mike|DateOfBirth:09/09/1980|Department:IT|', '344 5th cross st, MA', CURRENT_TIMESTAMP)
insert into Employee(Details,[address], [Date] )
values ('FirstName:Sarah|LastName:Jones|DateOfBirth:10/09/1970|Department:Admin', '444 8th avenue, PA', CURRENT_TIMESTAMP)
我的查询
select address,
left(Details,charindex('|',Details)-1) as FirstName,
substring(Details,charindex('|',Details)+1,len(Details)) as LastName
from
Employee
这就是我的查询得到的结果
【问题讨论】:
-
真正的解决方案是修复你的数据模型。
标签: sql sql-server string