我想知道在ms-sql(2005)中是否可能遵循以下内容
SELECT (expiry < getdate()) AS Expired FROM MyTable WHERE (ID = 1)
我基本上想评估与布尔值比较的日期,这是否可以在语句的选择部分中进行?
不直接。您必须使用CASE,CAST表示客户端代码将其解释为布尔值
SELECT CAST(CASE WHEN expiry < getdate() THEN 1 ELSE 0 END AS bit) AS Expired FROM MyTable WHERE (ID = 1)
预期一行或零行的另一种解决方案:
SELECT CAST(COUNT(*) AS bit) AS Expired FROM MyTable WHERE ID = 1 AND expiry < getdate()