关于将日期从Varchar
转换为Date
,我遇到了一个奇怪的问题,我希望有人可以向我解释为什么会发生这种情况。
现在我有一些临时表,我使用Bulk Insert
将CSV文件插入其中。这些Temp表将所有内容都作为Varchar()
,并从那里将数据插入到最终表中。现在对于大多数数据,我使用Cast()
函数将字段从varchar()
转换为最终类型所需的字段,但在几个日期字段中,我简单地更改了最终字段表格为Date
类型,并且没有使用cast()
函数。奇怪的是,只需将最终表设置为Date
类型,事情转换得很好,但是当尝试使用其他表之一时,我收到转换失败错误。
是否有任何情况会在不需要convert()
或Cast()
功能的情况下转换日期?我没有对这些插入查询做任何疯狂的事情,只是简单地将数据从一个表插入到下一个表中。为什么更改最终表字段类型足以在一种情况下转换日期,但在另一种情况下不够?我们再次讨论简单的Insert
语句。