【发布时间】:2020-02-27 10:12:35
【问题描述】:
无法传递多个日期值。
declare @Exdate date
set @Exdate = '2020-2-26','2020-2-27'
select *
from X
where Ex_Date in (@Exdate)
【问题讨论】:
-
标记您正在使用的 DBMS。
标签: sql-server tsql split
无法传递多个日期值。
declare @Exdate date
set @Exdate = '2020-2-26','2020-2-27'
select *
from X
where Ex_Date in (@Exdate)
【问题讨论】:
标签: sql-server tsql split
你需要调用 split 函数:
select x.*
from X cross apply
dbo.splitfn(@Exdate, ',') as spt(dateval)
where x.Ex_Date = dateval;
您的变量 (@Exdate) 应该有单个字符串而不是多个:
set @Exdate = '2020-2-26, 2020-2-27'
【讨论】:
2016 + 具有默认的拆分功能。你可以使用它。
是否需要不同的日期时间值,可以声明表变量:
declare @Exdate table (
date_value date
)
insert into @Exdate (date_value)
values ('2020-2-26'),('2020-2-27')
select *
from X where Ex_date in (select date_values from @Exdate)
【讨论】: