我在IN
内的getdate下面有一个SQL查询,如示例
由于IN
需要在引号中表达,因此无效。
它可以用于动态查询,但除了动态查询之外还有其他方法吗?
e.g。
PIVOT
(
SUM(Items)
FOR [ReceivedDate]
IN (select
CONVERT(char(10), GetDate(),126)
,CONVERT(char(10), GetDate()-1,126)
,CONVERT(char(10), GetDate()-1,126)
)
这不起作用。
答案 0 :(得分:0)
这是" IN"的样本。声明
SELECT * FROM Customers 城市IN(' Paris',' London');
尝试这样的事情
itemDate IN( SELECT getdate() - 1,getdate-2,..)
答案 1 :(得分:0)
IN不需要在引号中指定项目。你准备做什么?
如果您正在尝试比较日期而未获得结果,那么可能是因为您需要剥离时间组件。
SELECT
GetDate() AS RightNow,
Cast(Floor(Cast(GetDate() AS float)) AS datetime) AS DateOnly
答案 2 :(得分:0)
Sql server的IN基本上只是将标准扩展为OR。
你有什么工作,我把一个平方米放在一起展示它。 http://sqlfiddle.com/#!3/ffcbd/3/0
UPDATE - 由于OP最初没有包括这是参考PIVOT,我上面的回答假设它是IN逻辑运算符。如果动态sql不是一个选项,那么问题的答案似乎是“NO”。