SQL服务器导入和导出向导转换VS Alter命令

时间:2017-03-28 14:22:26

标签: sql-server tsql

只是尝试使用.xlsSQL server Import and Export Wizard文件导入数据库,对于.xls文件中的某些字段,存在whitespace值。这些字段应该是目标表中的DATEMONEY类型。

我尝试了Edit Mapping这些列,并且它提供了错误消息,指出由于potential data loss而无法为我转换这些字段值。

这是令我困惑的部分,我忽略了Import and Export Wizard级别的数据类型,只是将它们保留为原始nvarchar,然后尝试ALTER COLUMN,例如Alter table.. Alter column col1 DATE,它成功了。 为什么这些字段会在没有任何问题的情况下进行转换(实际上这些空白值已转换为1900/01/01列的DATE0.00列的MONEY,甚至Import and Export Wizard给我这些结果,我可以接受。)准确地说我感到困惑的是ALTER命令没有抛出potential data loss的错误并且可以将空值转换为其他的初始值类型?

1 个答案:

答案 0 :(得分:0)

嗯,我相信nvarchar几乎可以接受任何事情。 IT绝对比大多数数据类型更宽容。是的,当然,excel会接受你给的任何东西,让你摆脱各种各样的邋..正如您所发现的,当您从Excel世界进入数据库世界时,您需要对使用的数据类型更加严格。