SQL: conditional statements in select queries using case

SQL: conditional statements in select queries using case

Door: Arnout van der Vorst

When you need conditional statements in an SQL query, for instance to do some date calculation within the SELECT statement, you can do:

SELECT DISTINCT employeeid,
CASE
WHEN ISDATE(t1.date_end) = 1
THEN CONVERT(datetime, t1.date_end)
ELSE getdate() + 1000
END AS date_end
FROM temployee t1

The above statement returns all employeeid’s with the date_end record. The date_end record however can be empty but not NULL (otherwise an ISNULL would be easier). So we need a CASE statement to see if the date_end field contains a date value. If not the current date + 1000 days is returned.

Arnout van der Vorst

Geschreven door:
Arnout van der Vorst

Maak kennis met Arnout van der Vorst, de inspirerende Identity Management Architect bij Tools4ever sinds het jaar 2000. Na zijn studie Hogere Informatica aan de Hogeschool van Utrecht is hij begonnen als Supportmedewerker bij Tools4ever. Daarna heeft Arnout zich opgewerkt tot een sleutelfiguur in het bedrijf.  Zijn bijdragen strekken zich uit van klantondersteuning tot strategische pre-sales activiteiten, en hij deelt zijn kennis via webinars en artikelen.

Anderen bekeken ook

De vooroordelen van Single Sign On

De vooroordelen van Single Sign On

29 november 2011

SAP koppeling met Active Directory

SAP koppeling met Active Directory

06 september 2012

User- en toegangsbeheer in cloud applicaties: een uitdaging

User- en toegangsbeheer in cloud applicaties: een uitdaging

04 september 2012

Single Sign On met terminal emulatie (VAX64, AS/400, Linux, SSH)

Single Sign On met terminal emulatie (VAX64, AS/400, Linux, SSH)

14 oktober 2010

RBAC: sleutelrol, beheer en evolutie

RBAC: sleutelrol, beheer en evolutie

15 maart 2011