PC Easy Weblog

février 27, 2009

SQL Server – Le cas du Case pour une comparaison

Filed under: Développement — Étiquettes : , — trucmuche92 @ 7:48

En SQL Server, l »utilisation de la syntaxe Case … When … When…else…end est bien utile quand on veut inclure un test dans une requête SELECT :

Exemple :

select nom, prenom, 
case civ 
when 1 then 'Monsieur'
when 2 then 'Madame'
else 'Non mentionné' end as civilite
from employes

Il arrive parfois que le test a effectuer ne s’appuie pas sur une égalité, mais sur une comparaison, la syntaxe est particulière et est la suivante :

select nom, prenom,
case 
        when LastActivityDate < '2008-01-01' then 'Très Longtemps'
        when LastActivityDate < '2008-07-01' then 'Longtemps'
        else 'Récement' end as "Dernère visite"
from aspnet_users

En fait la syntaxe peut paraître différente, mais pas pour tout le monde car les 2 commandes suivantes sont les mêmes et sont valides :

select nom, prenom, case civ 
                    when 1 then 'Monsieur'
                    when 2 then 'Madame'
                    else 'Non mentionné' 
                    end as civilite
from employes

select nom, prenom, case
                    when civ=1 then 'Monsieur' 
                    when civ=2 then 'Madame' 
                    else 'Non mentionné'
                    end as civilite
from employes
Publicités

Laisser un commentaire »

Aucun commentaire pour l’instant.

RSS feed for comments on this post. TrackBack URI

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Créez un site Web ou un blog gratuitement sur WordPress.com.

%d blogueurs aiment cette page :