Sql server SQL server导入和导出向导转换与Alter命令
刚刚尝试使用SQL server导入和导出向导将Sql server SQL server导入和导出向导转换与Alter命令,sql-server,tsql,Sql Server,Tsql,刚刚尝试使用SQL server导入和导出向导将.xls文件导入数据库,对于.xls文件中的某些字段,存在空白值。这些字段应为目标表中的DATE或MONEY类型 我试图编辑这些列的映射,但它给出了一条错误消息,说无法为我转换这些字段值,因为可能会丢失数据 下面是我令人困惑的部分,我忽略了导入和导出向导级别上的数据类型,只是将它们保留为原始的nvarchar,并尝试更改列,例如更改表。。更改col1 DATE列,成功。 为什么这些字段会被转换而没有任何问题(实际上那些空白值被转换为日期列的1900
.xls
文件导入数据库,对于.xls
文件中的某些字段,存在空白
值。这些字段应为目标表中的DATE
或MONEY
类型
我试图编辑这些列的映射
,但它给出了一条错误消息,说无法为我转换这些字段值,因为可能会丢失数据
下面是我令人困惑的部分,我忽略了导入和导出向导
级别上的数据类型,只是将它们保留为原始的nvarchar
,并尝试更改列
,例如更改表。。更改col1 DATE列
,成功。
为什么这些字段会被转换而没有任何问题(实际上那些空白值被转换为
日期列的1900/01/01
和货币列的0.00
,即使导入和导出向导
给了我这些结果,我也可以接受。)确切地说,我感到困惑的是,为什么ALTER
命令没有抛出潜在数据丢失的错误,并且可以将空白值转换为其他类型的初始值?我相信nvarchar
几乎可以接受任何东西。它肯定比大多数数据类型更宽容。是的,当然,excel会接受你所付出的一切,让你摆脱各种各样的马虎。正如您所发现的,当您从Excel世界进入数据库世界时,您需要在使用何种数据类型方面更加严格