更新时间:2023-02-05 10:38:28
PATINDEX [ ^ ]应该是您要查找的T-SQL字符串函数!
***的问候,
-MRB
PATINDEX[^] should be the T-SQL string function you''re looking for!
Best Regards,
-MRB
伙计们,这是我到目前为止所拥有的,对于我的需求,它可以正常工作:
Well guys heres what i have so far, for my needs it works:
SELECT
left(substring(''JOHN SCOTT JUNIOR'',1,CHARINDEX('' '',''JOHN SCOTT JUNIOR'',1)),15) [first name],
substring(''JOHN SCOTT JUNIOR'',CHARINDEX('' '',''JOHN SCOTT JUNIOR'',1)+1,15) [first name]
结果
RESULTS
FIRST_NAME LAST_NAME
JOHN SCOTT JUNIOR
仍在使用中间名称,如果有人想继续使用它会留在这里...它可以工作,但在某些奇怪的情况下,它不会显示中间名称...
Still working on the middle one, gonna leave it here if someone wants to take it and continue... it works but for some weird cases it doesn''t display middle names...
substring(''JOHN SCOTT JUNIOR'',CHARINDEX('' '',''JOHN SCOTT JUNIOR'',CHARINDEX('' '',''JOHN SCOTT JUNIOR'')),LEN(''JOHN SCOTT JUNIOR'')+15-CHARINDEX('' '',''JOHN SCOTT JUNIOR'',CHARINDEX('' '',''JOHN SCOTT JUNIOR''))-CHARINDEX('' '',REVERSE(''JOHN SCOTT JUNIOR''),1)+1) [Last name],
REVERSE(substring(REVERSE( LEFT(''JOHN SCOTT JUNIOR'',LEN(''JOHN SCOTT JUNIOR'')+1-CHARINDEX('' '',REVERSE(''JOHN SCOTT JUNIOR''),1))),1,CHARINDEX('' '',REVERSE( LEFT(''JOHN SCOTT JUNIOR'',LEN(''JOHN SCOTT JUNIOR'')+1-CHARINDEX('' '',REVERSE(''JOHN SCOTT JUNIOR''),1))),1)-1)) [last name],
REVERSE(substring(REVERSE(''JOHN SCOTT JUNIOR''),1,CHARINDEX('' '',REVERSE(''JOHN SCOTT JUNIOR''),1)-1)) [second last name],