Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Obtenir un booléen à partir d'une comparaison de date dans t-sql select

Pas directement. Vous devez utiliser CASE, le CAST signifie qu'il est interprété comme booléen par le code client

SELECT
    CAST(CASE WHEN expiry < getdate() THEN 1 ELSE 0 END AS bit) AS Expired
FROM
    MyTable WHERE (ID = 1)

Une autre solution où une ou zéro ligne est attendue :

SELECT
    CAST(COUNT(*) AS bit) AS Expired   
FROM
    MyTable
WHERE
    ID = 1 AND expiry < getdate()