【发布时间】:2018-11-26 14:42:26
【问题描述】:
我在 SQL Server 2008 中工作,在合并时出现类似
的错误从字符串转换日期时间时转换失败
select *
from table_name
where cast(f_datetime as date) <=
cast(cast(datepart(year,cast(convert(varchar(250),@Year,103) as date) )as varchar(250))+ '-'+ cast(datepart(MM,cast(convert(varchar(10),@month,103) as varchar(50))+'-01' as date)
【问题讨论】:
-
你想在这里做什么?为什么
f_datetime不存储为日期? -
请提供
f_datetime的示例值。 -
删除破折号并使用类似 20181231 的格式。2018-02-01 可以解释为 1 月 2 日或 2 月 1 日,具体取决于当前的语言环境和设置,而没有破折号的始终是 YYYYMMDD。这个选角也很糟糕。我什至无法弄清楚你到底想要达到什么目的。
-
f_datetime、@Year和@Month的数据类型是什么?
标签: sql tsql sql-server-2008