我从表中选择BP(sys / dia)。我希望将值拆分为两个单独的列。
CREATE TABLE #BP_INFO
(ID INT , NAME VARCHAR(10), BP VARCHAR(10))
INSERT INTO #BP_INFO
VALUES(1,'ABC','100/60')
,(2,'XYZ','120/70')
,(3,'GHD','110/55')
SELECT * FROM #BP_INFO
我想要的结果如下所示:
ID NAME BP_SYS BP_DIA
1 ABC 100 60
2 XYZ 120 70
3 GHD 110 55
答案 0 :(得分:2)
那里有一些可怕的标记,但不过,我得到了它。
SELECT ID, NAME
, LEFT(BP,CHARINDEX('/',BP)-1) AS BP_SYS
, RIGHT(BP,CHARINDEX('/',REVERSE(BP))-1) AS BP_DIA
FROM #BP_INFO
另一种方式,如果你像我一样,并喜欢多种做事方式:
SELECT ID, NAME
, PARSENAME(REPLACE(BP,'/','.'),2) AS BP_SYS
, PARSENAME(REPLACE(BP,'/','.'),1) AS BP_DIA
FROM #BP_INFO
谢谢编辑OP的人。好多了。
答案 1 :(得分:0)
false
已发布的其他变体
@JohnnyBell
答案 2 :(得分:0)
我们也可以这样继续
CREATE TABLE #BP_INFO
(ID INT , NAME VARCHAR(10), BP VARCHAR(10))
INSERT INTO #BP_INFO
VALUES(1,'ABC','100/60')
,(2,'XYZ','120/70')
,(3,'GHD','110/55')
SELECT ID,name,
SUBSTRING(BP,0,CHARINDEX('/',BP)) AS BP_SYS,
SUBSTRING(BP,CHARINDEX('/',BP)+1,LEN(BP))AS BP_DIA
FROM #BP_INFO