导入前导零的数据-SQL Server

问题描述 投票:0回答:1

我正在尝试将数据导入表中。我正在批量插入。我已经使用CREATE语句创建了表,其中所有字段均为nvarchar(max)。我不明白为什么导入完成后,带有前导零的数据已更改为科学计数法。为什么它不保留为文本并保留前导零?

sql-server bulkinsert leading-zero
1个回答
0
投票

我建议您定义所需的零数目,然后进行更新。这是一个带有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
© www.soinside.com 2019 - 2024. All rights reserved.