gpt4 book ai didi

sql-server - 如何将 Microsoft sql server 中的字段拆分为多列

转载 作者:行者123 更新时间:2023-12-02 17:12:08 25 4
gpt4 key购买 nike

我有一个表,其中有一列包含以下条目-

Drug
Sertraline 100mg tablets
Phenobarbitol 20mg capsules

我希望将这一列分成四部分-

Drugname    Strength   Units   Form
Sertraline 100 mg tablets

谁能指导我做这件事?

最佳答案

使用一点 XML 和交叉应用

图案清晰,易于根据需要扩展或收缩

示例

Select A.* 
,B.*
From YourTable A
Cross Apply (
Select Pos1 = ltrim(rtrim(xDim.value('/x[1]','varchar(max)')))
,Pos2 = ltrim(rtrim(xDim.value('/x[2]','varchar(max)')))
,Pos3 = ltrim(rtrim(xDim.value('/x[3]','varchar(max)')))
,Pos4 = ltrim(rtrim(xDim.value('/x[4]','varchar(max)')))
,Pos5 = ltrim(rtrim(xDim.value('/x[5]','varchar(max)')))
From (Select Cast('<x>' + replace((Select replace(A.[Drug],' ','§§Split§§') as [*] For XML Path('')),'§§Split§§','</x><x>')+'</x>' as xml) as xDim) as B1
) B

返回

Pos1            Pos2    Pos3        Pos4    Pos5
Sertraline 100mg tablets NULL NULL
Phenobarbitol 20mg capsules NULL NULL

关于sql-server - 如何将 Microsoft sql server 中的字段拆分为多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48562235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com