powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / апостроф при экспорте в csv , экранирование в ""
5 сообщений из 5, страница 1 из 1
апостроф при экспорте в csv , экранирование в ""
    #39671323
solnceyest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При экспотре в csv надо заключать слова содержащие апостров в двойные кавычки "", какие есть варианты, подскажите пожайлуста?

Пример:
Дано в таблице:
1)4820 NUTTER'S CROSS RD.
2)11110 CHAMBERS CT. 'D'

Надо получить в файле
1)4820 "NUTTER'S" CROSS RD.
2)11110 CHAMBERS CT. "'D'"
...
Рейтинг: 0 / 0
апостроф при экспорте в csv , экранирование в ""
    #39671328
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут программист нужен, который знает как строки резать на слова как минимум.
...
Рейтинг: 0 / 0
апостроф при экспорте в csv , экранирование в ""
    #39671358
solnceyest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Microsoft SQL Server 2012 (SP4-GDR)
...
Рейтинг: 0 / 0
апостроф при экспорте в csv , экранирование в ""
    #39671359
solnceyest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот есть скрипт на разложение по словам.
ОК, Я слово с апострофом сделаю в кавычках двойных, как дальше по простому склеить, без отдельных update таблицы?


Extracting All The Words From a String In An SQL Query
WITH SeparateWords ( StringValue, Word, Position, RestOfLine)
AS
(
SELECT @StringValue
, CASE CHARINDEX(' ',@StringValue)
WHEN 0 THEN @StringValue
ELSE LEFT(@StringValue, CHARINDEX(' ',@StringValue) -1)

END
, 1
, CASE CHARINDEX(' ',@StringValue)
WHEN 0 THEN ''
ELSE RIGHT(@StringValue, LEN(@StringValue) - CHARINDEX(' ',@StringValue))
END
UNION ALL

SELECT sw.StringValue
, CASE CHARINDEX(' ',RestOfLine)
WHEN 0 THEN RestOfLine
ELSE LEFT(RestOfLine, CHARINDEX(' ',RestOfLine) -1)
END
, Position + 1
, CASE CHARINDEX(' ',RestOfLine)
WHEN 0 THEN ''
ELSE RIGHT(RestOfLine, LEN(RestOfLine) -
CHARINDEX(' ',RestOfLine))
END
FROM SeparateWords AS sw
WHERE sw.RestOfLine != ''
)
SELECT * FROM SeparateWords
GO
...
Рейтинг: 0 / 0
апостроф при экспорте в csv , экранирование в ""
    #39671367
solnceyest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вроде работает в отдельном стейтменте, как бы ето засунуть в обший, чтобы делало на лету?

DECLARE @StringValue VARCHAR(200) = '11110 CHAMBERS CT. '''+'D'+'''';


WITH SeparateWords ( StringValue, Word, Position, RestOfLine)
AS
(
SELECT @StringValue
, CASE CHARINDEX(' ',@StringValue)
WHEN 0 THEN @StringValue
ELSE
case when PATINDEX('%''%', LEFT(@StringValue, CHARINDEX(' ',@StringValue) -1))>0 then quotename(LEFT(@StringValue, CHARINDEX(' ',@StringValue) -1),'"')
else LEFT(@StringValue, CHARINDEX(' ',@StringValue) -1)
end
END
, 1
, CASE CHARINDEX(' ',@StringValue)
WHEN 0 THEN ''
ELSE RIGHT(@StringValue, LEN(@StringValue) - CHARINDEX(' ',@StringValue))
END
UNION ALL

SELECT sw.StringValue
, CASE CHARINDEX(' ',RestOfLine)
WHEN 0 THEN RestOfLine
ELSE case when PATINDEX('%''%', LEFT(RestOfLine, CHARINDEX(' ',RestOfLine) -1))>0 then quotename(LEFT(RestOfLine, CHARINDEX(' ',RestOfLine) -1),'"') else LEFT(RestOfLine, CHARINDEX(' ',RestOfLine) -1) end
END
, Position + 1
, CASE CHARINDEX(' ',RestOfLine)
WHEN 0 THEN ''
ELSE RIGHT(RestOfLine, LEN(RestOfLine) -
CHARINDEX(' ',RestOfLine))
END
FROM SeparateWords AS sw
WHERE sw.RestOfLine != ''
)

SELECT

STUFF((SELECT ' ' + US.word
FROM SeparateWords US
ORDER BY position
FOR XML PATH('')), 1, 1, '') StringValue


--ORDER BY 1
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / апостроф при экспорте в csv , экранирование в ""
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]