如果你的数据中只有AAA.BBB.CCC ,DDD.EEE这两种格式的数据的话,那么你可以尝试下面这个语句:
DECLARE @TBL TABLE(ID INT, [VALUE] VARCHAR(50))
INSERT INTO @TBL VALUES
(1,'AAA.BBB.CCC'),(2,'DDD.EEE')
;WITH CTE AS
(
SELECT [VALUE],
PARSENAME([VALUE], 3) AS VALUE1,
PARSENAME([VALUE], 2) AS VALUE2,
PARSENAME([VALUE], 1) AS VALUE3
FROM @TBL
)
SELECT CASE WHEN VALUE1 IS NULL THEN VALUE2 ELSE VALUE1 END AS VALUE1,
CASE WHEN VALUE1 IS NULL THEN NULL ELSE VALUE2 END AS VALUE2,
VALUE3
FROM CTE
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。