La troisième colonne de l'ensemble de résultats de la requête correspond à une expression de colonne. La base de données d'un vidéo-club stocke la date de retour d'un film au format DATE. Le format DATE doit être converti en chaîne de caractères contenant le nom du jour de retour du film. Une fonction de base de données extrait un entier à partir de la date, qui correspond au jour de la semaine. Vous allez utiliser une expression CASE pour évaluer la fonction et convertir les entiers renvoyés par la fonction en chaînes de caractères pour chaque jour de la semaine (par exemple, 1 sera changé en "Dimanche" dans le résultat de la requête).
Vous allez effectuer les activités suivantes pour créer l'expression CASE :
- Ouvrez l'assistant Générateur d'expression.
- Créez une expression CASE de type simple.
- Ajoutez la fonction DAYOFWEEK pour l'évaluation par l'expression CASE. La fonction DAYOFWEEK permet d'extraire le jour de la semaine à partir de la colonne DATE. Cette fonction renvoie un entier qui correspond au jour de la semaine.
- Ajoutez des clauses WHEN pour générer les résultats pour l'expression CASE.
Pour ajouter une expression CASE, procédez comme suit :
- Sur la page Colonnes du panneau Conception, cliquez deux fois sur la troisième cellule de la colonne Colonne (première cellule vide), puis sur Générer l'expression à la fin de la liste, et appuyez sur la touche Entrée. L'assistant Générateur d'expression s'affiche.
- Créez une expression CASE de type simple.
- Sur la page Types d'expressions, cliquez sur CASE - de recherche ou simple, puis sur Suivant.
- Sur la page Options CASE, cliquez sur Clause WHEN simple, puis sur Suivant.
- Ajoutez la fonction DAYOFWEEK :
- Sur la page Expression CASE simple, dans la liste CASE, cliquez sur Générer l'expression de fonction. L'assistant Générateur d'expression de fonction s'affiche.
- Dans la liste Sélectionnez une catégorie de fonction, cliquez sur Date et heure.
- Dans la liste Sélectionnez une fonction, cliquez sur DAYOFWEEK.
- Dans la liste Sélectionnez une signature de fonction, cliquez sur DAYOFWEEK(DATE) --> INTEGER. La signature de fonction indique que la fonction requiert un argument.
- Dans la colonne Valeur de la table des arguments, cliquez deux fois sur la cellule, puis sur R.DATE dans la liste, et pour finir appuyez sur la touche Entrée. La syntaxe de l'expression de fonction est DAYOFWEEK(DATE), comme indiqué à la section 5 de l'illustration suivante :

Notez que le qualificateur de table R de la colonne DATE sélectionnée n'est pas affiché dans cet assistant. Il sera affiché dans l'expression lorsque vous reviendrez dans le générateur SQL.
- Cliquez sur Terminer pour revenir à la construction de l'expression CASE.
- Dans la liste CASE, sélectionnez DAYOFWEEK(DATE).
- Ajoutez sept clauses WHEN à l'expression CASE (une pour chaque jour de la semaine) pour convertir l'entier renvoyé par la fonction DAYOFWEEK en chaînes de caractères. Le tableau suivant affiche la chaîne de caractères nécessaire pour chaque valeur renvoyée par la fonction DAYOFWEEK :
Tableau 1. Valeurs DAYOFWEEK et chaînes de caractères correspondantesValeur DAYOFWEEK |
Chaîne de caractères générée |
1 |
'Dimanche' |
2 |
'Lundi' |
3 |
'Mardi' |
4 |
'Mercredi' |
5 |
'Jeudi' |
6 |
'Vendredi' |
7 |
'Samedi' |
- Dans le tableau, cliquez deux fois sur la cellule vide dans la colonne Expression, à la droite de WHEN, puis entrez l'entier 1. Pour que l'entrée soit prise en compte lorsque vous entrez des données dans cette table et dans d'autres tables associées au générateur SQL, vous devez appuyer sur la touche Entrée ou activer une autre cellule après avoir entré une valeur dans une cellule.
- Cliquez deux fois sur la cellule vide dans la colonne Expression de résultat, à la droite de THEN, puis entrez la chaîne 'Dimanche'.
- Pour chacun des six jours restants, cliquez sur Ajouter une clause WHEN, puis répétez les étapes 4a et 4b afin que votre table ait le même aspect que l'illustration présentée ici :

- Cliquez sur Terminer pour fermer l'assistant Générateur d'expression.
L'expression CASE terminée est affichée dans la liste des expressions de colonne sur la page Colonnes du panneau Conception, et s'affiche également dans la source de l'instruction SQL.