【发布时间】:2017-02-03 21:35:39
【问题描述】:
如果日期小于某个时间,是否可以将布尔值作为选择字段返回?
例如:
SELECT true IF (mydate < NOW())
还是类似的?
【问题讨论】:
-
mydate < NOW()单独就足够了。它返回 1 或 0 表示真或假。
如果日期小于某个时间,是否可以将布尔值作为选择字段返回?
例如:
SELECT true IF (mydate < NOW())
还是类似的?
【问题讨论】:
mydate < NOW() 单独就足够了。它返回 1 或 0 表示真或假。
SELECT
CAST(CASE WHEN mydate< getdate() THEN 1 ELSE 0 END AS bit) AS mydate
FROM
MyTable WHERE (ID = 1)
-- Another approach might be
SELECT
CAST(COUNT(*) AS bit) AS mydate
FROM
MyTable
WHERE
ID = 1 AND mydate < getdate()
【讨论】:
您可以像下面这样简单地注入一个内联 IF 语句:
SELECT CAST(IIF(mydate < GETDATE(), 1, 0) AS BIT)
【讨论】: