我试图将varchar类型的日期(yyyy / mm / dd)转换为datetime并连接到局部变量。我收到错误“从字符串转换日期和/或时间时转换失败”。请让我知道如何解决这个问题。我正在使用sql 2008和convert()不工作。
set @select = 'select * from tbl t where t.date=''' + cast(replace(@startdate,'/','') as datetime) + ''''
当我尝试如下所示投射日期时,它会连接到@select变量,但不会提供所需的输出:
cast(cast(@startdate as datetime) as varchar(20))
答案 0 :(得分:0)
您可以使用以下内容来获得所需的输出:
FORMAT([DateColumn],'yyyy/MM/dd')
编辑: - 这对sql server 2008不起作用
这将
REPLACE(Convert(nvarchar(10),[Datecolumn],111),'/','-')
编辑为格式为yyyy-mm-dd而不是yyyy / mm / dd