日期的串联
Concatenation of dates
如何连接年、月和日以便在查询的 where 子句中使用它?
我尝试这样做,但它带来了错误消息,将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。 SQL 州:22007
Select *
from table_name
where DocDate >= cast(YEAR({?dateto}) as varchar(4)) + '-02-' + cast(DAY({?dateto}) as varchar(2))
请任何人帮助我
你为什么要这么做?只需使用 datefromparts()
:
where docdate >= datefromparts(YEAR({?dateto}), 2, DAY({?dateto}))
当然,2 月只有 28 或 29 天,所以您可能需要考虑到这一点:
where docdate >= datefromparts(YEAR({?dateto}), 2,
(CASE WHEN DAY({?dateto}) > 28 THEN 28 ELSE DAY({?dateto}) END)
)
如何连接年、月和日以便在查询的 where 子句中使用它?
我尝试这样做,但它带来了错误消息,将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。 SQL 州:22007
Select *
from table_name
where DocDate >= cast(YEAR({?dateto}) as varchar(4)) + '-02-' + cast(DAY({?dateto}) as varchar(2))
请任何人帮助我
你为什么要这么做?只需使用 datefromparts()
:
where docdate >= datefromparts(YEAR({?dateto}), 2, DAY({?dateto}))
当然,2 月只有 28 或 29 天,所以您可能需要考虑到这一点:
where docdate >= datefromparts(YEAR({?dateto}), 2,
(CASE WHEN DAY({?dateto}) > 28 THEN 28 ELSE DAY({?dateto}) END)
)