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.

Geschreven door:
Arnout van der Vorst

Arnout van der Vorst is Identity Management Architect bij Tools4ever en al ruim 10 jaar in dienst. Arnout legt zich als Architect toe op het bedenken en ontwikkelen van nieuwe features, oplossingen en diensten van Tools4ever die aansluiten op de vraag uit de markt. Arnout studeerde Hogere Informatica aan de Hogeschool van Utrecht.

Anderen bekeken ook

De vooroordelen van Single Sign On

29 november 2011

SAP koppeling met Active Directory

06 september 2012

User- en toegangsbeheer in cloud applicaties: een uitdaging

04 september 2012

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

14 oktober 2010

RBAC: sleutelrol, beheer en evolutie

15 maart 2011