只是尝试使用.xls
将SQL server Import and Export Wizard
文件导入数据库,对于.xls
文件中的某些字段,存在whitespace
值。这些字段应该是目标表中的DATE
或MONEY
类型。
我尝试了Edit Mapping
这些列,并且它提供了错误消息,指出由于potential data loss
而无法为我转换这些字段值。
这是令我困惑的部分,我忽略了Import and Export Wizard
级别的数据类型,只是将它们保留为原始nvarchar
,然后尝试ALTER COLUMN
,例如Alter table.. Alter column col1 DATE
,它成功了。
为什么这些字段会在没有任何问题的情况下进行转换(实际上这些空白值已转换为1900/01/01
列的DATE
和0.00
列的MONEY
,甚至Import and Export Wizard
给我这些结果,我可以接受。)准确地说我感到困惑的是ALTER
命令没有抛出potential data loss
的错误并且可以将空值转换为其他的初始值类型?
答案 0 :(得分:0)
嗯,我相信nvarchar
几乎可以接受任何事情。 IT绝对比大多数数据类型更宽容。是的,当然,excel会接受你给的任何东西,让你摆脱各种各样的邋..正如您所发现的,当您从Excel世界进入数据库世界时,您需要对使用的数据类型更加严格。