sql >> Database >  >> RDS >> Sqlserver

Een boolean krijgen van een datumvergelijking in t-sql select

Niet direct. Je moet CASE gebruiken, de CAST betekent dat het door de klantcode als boolean wordt geïnterpreteerd

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

Een andere oplossing waarbij één of nul rijen worden verwacht:

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


  1. LIMIT doorgeven als parameters aan MySQL sproc

  2. PHP:Online Offline-status

  3. MySQL-configuratievariabelen instellen - MySQL 5.7 versus MySQL 8.0

  4. Is het mogelijk om de WHERE-component te gebruiken om alle records in de SQL-instructie te selecteren?