我正在尝试将数据导入表中。我正在做大量插入。我使用CREATE语句创建了该表,其中所有字段都是nvarchar(max(。我不明白为什么导入完成后,以零开头的数据被改为科学记数法。为什么它不保留为文本并保留前导零?
我建议您定义所需的零的数量,然后进行更新。这是一个有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