Попробуйте ЗАМЕНИТЬ (.) С помощью '', прежде чем применять другие функции, как показано ниже: *
DECLARE @t TABLE (items VARCHAR(50))
INSERT INTO @t VALUES ('Apple.,banana,mango,pineapple')
SELECT
PARSENAME(REPLACE(REPLACE(items,'.',''),',','.'),4) Col1,
PARSENAME(REPLACE(REPLACE(items,'.',''),',','.'),3) Col2,
PARSENAME(REPLACE(REPLACE(items,'.',''),',','.'),2) Col3,
PARSENAME(REPLACE(REPLACE(items,'.',''),',','.'),1) Col4
FROM @t
AS (.) - зарезервированный символ для PARSENAME, вы можете применить двойную замену, чтобы сохранить (.) В вашемвыход.Сначала спрячьте (.) С необычным набором символов и, наконец, снова замените Необычный характер на (.), Как показано ниже -
DECLARE @t TABLE (items VARCHAR(50))
INSERT INTO @t VALUES ('Apple.,banana,mango,pineapple')
SELECT
REPLACE(PARSENAME(REPLACE(REPLACE(items,'.','##@@##'),',','.'),4),'##@@##','.') Col1,
REPLACE(PARSENAME(REPLACE(REPLACE(items,'.','##@@##'),',','.'),3),'##@@##','.') Col2,
REPLACE(PARSENAME(REPLACE(REPLACE(items,'.','##@@##'),',','.'),2),'##@@##','.') Col3,
REPLACE(PARSENAME(REPLACE(REPLACE(items,'.','##@@##'),',','.'),1),'##@@##','.') Col4
FROM @t