3
我想知道如果沿着以下線的東西,可以在MS-SQL(2005)獲取從日期的布爾比較在T-SQL選擇
SELECT(到期< GETDATE())爲過期 FROM MyTable WHERE(ID = 1)
我基本上想要評估比較布爾值的日期,是否可以在語句的選擇部分?
我想知道如果沿着以下線的東西,可以在MS-SQL(2005)獲取從日期的布爾比較在T-SQL選擇
SELECT(到期< GETDATE())爲過期 FROM MyTable WHERE(ID = 1)
我基本上想要評估比較布爾值的日期,是否可以在語句的選擇部分?
不是直接。你必須使用的情況下,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()
SELECT CASE WHEN expiry < getdate() THEN 'true' ELSE 'false' END AS Expired FROM MyTable WHERE (ID = 1)