DATEPART()的日期/时间转换错误

时间:2013-03-20 12:55:22

标签: sql sql-server-2008 syntax-error datepart

当我尝试在where子句中使用datepart函数时出现错误。有人可以看下面我的语法并提供一些建议吗?

DATEPART(DW,convert(date,convert(varchar(4),year)+'-'+convert(varchar(4),month)+'-
'+convert(varchar(4),day),120))

我正在尝试创建一个视图,并且select查询在没有where子句的情况下正常工作,但是当我添加它时它返回以下错误:

  

消息241,级别16,状态1,行1转换时转换失败   字符串的日期和/或时间。

1 个答案:

答案 0 :(得分:0)

试试这个:

PRINT   DATEPART(DW, 
    CONVERT( DATE, 
        CONVERT(VARCHAR(4),YEAR(getdate()) 
        + '-' + CONVERT(VARCHAR(4), MONTH(getdate())) 
        + '-' + CONVERT(VARCHAR(4), DAY(getdate())), 120) ) )
相关问题