我有一个带有Barcode
列的Excel CSV文件,其数据如下所示:5.06E+12
- 它有一个十进制数字(5.06),字母(E)和符号(+)。
当我尝试在Excel中编辑时,数字会更改为5060190000000
。
将这种类型的数据存储到我的SQL Server数据库时,我的Model Barcode
属性的数据类型应该是什么?
答案 0 :(得分:5)
尝试选择最合适的数据类型。如果您使用的是实际的产品条形码,则可以通过一些研究表明它们可能International Article Numbers。
由于它们实际上是13位数的字符串,因此char(13)
可能是存储此数据的最合适的数据类型。不要默认为varchar(50)
因为那个"足够大" - 将长度规范视为免费验证。
答案 1 :(得分:1)
这被称为E notation,它是科学记数法的变体。有问题的数字是整数,但是缩写。
5.06 * 10^12 = 5060190000000
因此,您的值应存储为足以存储您的号码的整数。
您的值应存储为varchar足够长,以适应潜在值的长度。