sql >> Database teknologi >  >> RDS >> Sqlserver

Få en boolean fra en dato sammenligne i t-sql select

Ikke direkte. Du skal bruge CASE, CAST betyder, at det tolkes som boolesk af klientkode

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

En anden løsning, hvor der forventes en eller nul rækker:

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


  1. MySQL sammenligner og ekskluderer resultater korrekt

  2. MySQL-sikkerhedskopi med WHERE-tilstand

  3. SQL Server Database Objects Statistik

  4. MySQL-tabelnavnet for store og små bogstaver på MacOS med et filsystem, der ikke skiller mellem store og små bogstaver