我在SQL Server 2014专栏中有以下数据,名为EMP_CLASS_10_DESCR
OUELLETTE,MAXIME :845800
ANDERSON,ADRIEN :021252
MITRI,NATHALIA :687173
我喜欢做的是通过查询以下列方式表示数据。
MAXIME.OUELLETTE
ADRIEN.ANDERSON
NATHALIA.MITRI
到目前为止我所做的是
CASE WHEN CHARINDEX(':', EMP_CLASS_10_DESCR)
= 0 THEN EMP_CLASS_10_DESCR ELSE LEFT(EMP_CLASS_10_DESCR, CHARINDEX(':', EMP_CLASS_10_DESCR) - 1) END AS FULL_NAME,
但所有这一切都是给我以下的
OUELLETTE,MAXIME
ANDERSON,ADRIEN
MITRI,NATHALIA
我仍然需要翻转名字并用a替换(逗号)。 (周期)
任何帮助将不胜感激。我做了一些搜索但是找不到任何搜索结果。我仍然是SQL Server的新手,只是想学习。
答案 0 :(得分:1)
您可以使用PARSENAME
:
WITH CTE AS
(
SELECT CASE
WHEN CHARINDEX(':',YourColumn) > 0
THEN RTRIM(LTRIM(LEFT(YourColumn,CHARINDEX(':',YourColumn)-1)))
ELSE YourColumn
END NewColumn
FROM dbo.YourTable
)
SELECT CONCAT(PARSENAME(REPLACE(NewColumn,',','.'),1),'.',PARSENAME(REPLACE(NewColumn,',','.'),2))
FROM CTE;