我已将csv文件导入到SQL Server Manager。列之一是日期,但他的数据类型是vachar(50)。
我使用了基本的(广播,转换,try_parse),但仍然收到消息:
(从字符转换日期和/或时间时转换失败 字符串。)
能帮我一下吗:)
select cast(
replace(
case
when [factuur_datum] in ('null','')
then null
else [factuur_datum]
end, '-','') as date) as [factuur_datum]
from [dbo].[verkoop]
答案 0 :(得分:1)
请使用以下查询将其转换为日期
convert(date,'20-12-2018',105)
答案 1 :(得分:0)
我认为 factuur_datum 是日期列:
select
cast(factuur_datum as date) as [Alias]
from [dbo].[verkoop]
不确定数据是什么样子,所以可以举个例子吗?
编辑
convert(datetime,'factuur_datum',1)
如果存在空值,可能会出错,因此您可能需要区分出空值然后进行转换。
答案 2 :(得分:0)
这应该按照您的意愿进行:
select try_cast(replace(factuur_datum, '-', '') as date) as factuur_datum
from [dbo].[verkoop]
无日期将产生NULL
。