直接ではありません。 CASE を使用する必要があります。CAST は、クライアント コードによってブール値として解釈されることを意味します
SELECT
CAST(CASE WHEN expiry < getdate() THEN 1 ELSE 0 END AS bit) AS Expired
FROM
MyTable WHERE (ID = 1)
1 行または 0 行が予想される別のソリューション:
SELECT
CAST(COUNT(*) AS bit) AS Expired
FROM
MyTable
WHERE
ID = 1 AND expiry < getdate()