例如
我有:
PN*BR PN
872*07 872
8445*07 8455
我需要一个新的BR栏目:
PN*BR PN BR
872*07 872 07
8445*07 8455 07
答案 0 :(得分:2)
这是一种方式:
select t.*,
replace(replace([PN*BR], PN, ''), '*', '') as BR
from table t
重复值是个问题。现在问题被标记为数据库,我建议:
select t.*,
replace([PN*BR], PN + '*', '') as BR
from table t
答案 1 :(得分:1)
SELECT LEFT([PN*BR],PATINDEX('%*%',[PN*BR])-1) AS PN,
RIGHT([PN*BR],LEN([PN*BR]) - PATINDEX('%*%',[PN*BR])) AS BR
FROM Table
答案 2 :(得分:0)
SELECT t.*,
STUFF([PN*BR], 1, CHARINDEX('*', [PN*BR]), '') BR
FROM <yourtable> t
答案 3 :(得分:0)
SELECT SUBSTRING(PN*BR,1,CHARINDEX('*',PN*BR,1)-1) as PN, SUBSTRING(PN*BR,CHARINDEX('*',PN*BR,1)+1,LEN(PN*BR)-CHARINDEX('*',PN*BR,1)) as BR
FROM Table
答案 4 :(得分:-1)
在这里回答:How to split a single column values to multiple column values?
提取物:
SELECT CASE
WHEN name LIKE '% %' THEN LEFT(name, Charindex(' ', name) - 1)
ELSE name
END,
CASE
WHEN name LIKE '% %' THEN RIGHT(name, Charindex(' ', Reverse(name)) - 1)
END
FROM YourTable