powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / T-SQL и BULK INSERT - как заставить SQL игнорировать запятую внутри кавычек?
4 сообщений из 4, страница 1 из 1
T-SQL и BULK INSERT - как заставить SQL игнорировать запятую внутри кавычек?
    #39955845
senglory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжение этой темы

В импортируемом файле попадаются такие строки

автор020130001001,2011,1.1,"Aleutians East Borough, Alaska",982.0,4.35,75.0,64.84,683.0,53125.0,115600.0,17.5,14.05,17.72,17.41,11.1,36.66,1.83,1.22,0.0,0.0,,,0.0,0,0,1


Надо чтобы при выполнении BULK INSERT запятая внутри кавычек и после Aleutians East Borough не воспринималась как разделитель. Как это описать в команде BULK INSERT?
...
Рейтинг: 0 / 0
T-SQL и BULK INSERT - как заставить SQL игнорировать запятую внутри кавычек?
    #39955859
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Либо MS SQL с поддержкой CSV. Год не помню.
2. Либо у тебя на ЭТОМ месте ВСЕГДА текст в кавычках => формат-файл.
3. Либо никак.
...
Рейтинг: 0 / 0
T-SQL и BULK INSERT - как заставить SQL игнорировать запятую внутри кавычек?
    #39956088
senglory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечаю сам себе - написать вот такое:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
BULK INSERT EvTmp
FROM 'C:\tmp\AK-block-groups.csv'
WITH
(
    FIRSTROW = 2,
    FORMAT = 'CSV', 
    DATAFILETYPE = 'char',
    FIELDQUOTE ='"',
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '0x0a'   --Use to shift the control to next row
    ,TABLOCK
)




И запятая внутри "Aleutians East Borough, Alaska" перестанет быть разделителем полей
...
Рейтинг: 0 / 0
T-SQL и BULK INSERT - как заставить SQL игнорировать запятую внутри кавычек?
    #39956116
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
senglory,

Ну собственно п.1 из ответа Алекса: https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql FORMAT = 'CSV' Applies to: SQL Server 2017 (14.x) CTP 1.1. Specifies a comma separated values file compliant to the RFC 4180 standard.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / T-SQL и BULK INSERT - как заставить SQL игнорировать запятую внутри кавычек?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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