首页 > 解决方案 > 与“转换”函数一起使用时,Where 子句失败

问题描述

我正在将表示日期的 varchar 字段转换为日期时间,并使用它的 withing"where - between"子句。

我得到:

从字符串转换日期和/或时间时转换失败

我的where条款是:

select
screen_date
from d8003
where convert(datetime, screen_date, 120) between '6/1/2018' and '12/31/2018'

我该如何解决这个问题?

标签: sqlsql-servertsqltype-conversionwhere

解决方案


尝试使用以下语法(使用 YYYYMMDD 日期格式而不是 MM/DD/YYYY):

select
screen_date
from d8003
where convert(datetime, screen_date, 120) between '20180601' and '20181231'

如果您仍然收到相同的错误,请检查您是否使用了正确的日期格式代码:


推荐阅读