我有一列用户名。
他们如下:
'first last middleinitial'
请注意名称部分之间的大空格 这些空格总是不同的空格数 。
我如何将first,last和middleinitial分成单独的列(即使每个名称的空格不同)?
答案 0 :(得分:3)
WITH t AS
(
SELECT 'first last middleinitial' AS name
)
SELECT
LEFT(name,CHARINDEX(' ', name)-1)
,RIGHT(name, CHARINDEX(' ', REVERSE(name))-1)
,LTRIM(RTRIM(SUBSTRING(name,CHARINDEX(' ', name),LEN(name)- CHARINDEX(' ', REVERSE(name))-CHARINDEX(' ', name))))
FROM t