Я пытаюсь импортировать данные в таблицу. Я делаю массовую вставку. Я создал таблицу с помощью оператора CREATE, где все поля имеют тип nvarchar(max). Я не могу понять, почему при импорте данные с ведущими нулями были изменены на экспоненциальное представление. Почему он не остается текстовым и не сохраняет начальные нули?
Импорт данных с ведущими нулями — SQL Server
Ответы (1)
Я предлагаю вам определить количество нулей, которые вы хотите, а затем сделать обновление. Вот пример с 10 нулями.
create table #leadingZeros(uglynumber nvarchar(max),handsomenumber nvarchar(max),nicenumber nvarchar(max))
INSERT INTO #leadingZeros VALUES(1000000,0000123,0500000)
SELECT * FROM #leadingZeros
--OUTPUT:
--uglynumber handsomenumber nicenumber
--1000000 123 500000
UPDATE #leadingZeros SET
uglynumber=RIGHT('0000000000'+uglynumber,10)
,handsomenumber=RIGHT('0000000000'+handsomenumber,10)
,nicenumber=RIGHT('0000000000'+nicenumber,10)
SELECT * FROM #leadingZeros
--OUTPUT
--uglynumber handsomenumber nicenumber
--0001000000 0000000123 0000500000
person
Community
schedule
06.03.2020
varchar(MAX)
? Вам действительно нужно 2 ГБ дискового пространства для каждого фрагмента данных? - person Larnu   schedule 06.03.2020