Remarque Les informations contenues dans cette rubrique s'appliquent uniquement à un projet Microsoft Access (.adp).
Aperçu sur les expressions
Vous pouvez utiliser une expression partout où, dans une requête, vous pouvez utiliser un nom de colonne. Les expressions peuvent calculer des valeurs à afficher, faire partie de conditions de recherche ou combiner le contenu de colonnes de données. Une expression peut consister en un calcul mathématique ou une chaîne, et peut contenir toute combinaison de noms de colonne, de littéraux, d'opérateurs ou de fonctions.
Voici des exemples d'utilisation d'expressions dans une requête :
- Dans une table
products, l'affichage d'un prix réduit qui est calculé en prenant 10% du prix de vente.
- L'affichage des seuls trois premiers chiffres (l'indicatif régional) d'un numéro de téléphone.
- L'affichage des noms des employés selon le format nom, prénom.
- La jointure de deux tables, une table
orders et une table products, puis le tri de la requête sur le prix total (quantité commandée * prix du produit).
- Dans une table
orders, la copie suivie de la suppression de toutes les commandes qui ont livrées depuis plus d'un an.
Structure et exemples d'expressions
Directives générales pour la création d'expressions
Une expression consiste en une combinaison quelconque de noms de colonnes, de littéraux, d'opérateurs ou de fonctions. Suivez ces directives quand vous combinez des éléments pour former des expressions :
- Référencez les colonnes en indiquant leur nom. Si votre requête utilise plusieurs tables et si vous utilisez un nom de colonne qui n'est pas unique, vous devez ajouter le nom de table et un point au nom de colonne. L'exemple qui suit montre le nom de colonne
job_id qualifié avec le nom de table employee :
- Insérez du texte littéral en l'entourant de guillemets simples ; les guillemets ne sont pas nécessaires pour les nombres.
Remarque Le Concepteur de requête peut accepter des termes placés entre des guillemets doubles mais il va les interpréter différemment de ce que vous attendez. Dans un projet Microsoft Access, le Concepteur de requête interprète toujours les guillemets doubles comme des délimiteurs d'objets de base de données.
- Utilisez les opérateurs arithmétiques standard pour les nombres et un opérateur de concaténation pour la combinaison de chaînes.
- Insérez des parenthèses pour fixer la priorité des opérateurs.
- Si vous incluez une fonction, utilisez ces mêmes directives pour les arguments passés à la fonction. Autrement dit, référencez les colonnes en indiquant leur nom, placez le texte littéral entre des guillemets simples, etc.
- Si vous passez des noms de colonne comme arguments d'une fonction, assurez-vous que le type de données de la colonne convient à l'argument de la fonction.
- Vous pouvez inclure dans une expression des fonctions définies par l'utilisateur qui renvoient une valeur scalaire.
Exemples d'expressions
Le tableau suivant montre l'utilisation d'expressions dans une requête.
| Expression |
Résultat |
SELECT (price * .9)
FROM products
|
Affiche un prix avec une remise (10% de moins que la valeur de la colonne prix). |
SELECT (lname + ', ' + fname)
FROM employee
|
Affiche les valeurs concaténées des colonnes nom et prénom avec une virgule entre les deux. |
SELECT sales.qty, titles.price
FROM sales INNER JOIN titles ON
sales.title_id = titles.title_id
ORDER BY
(sales.qty * titles.price)
|
Après la jointure de deux tables, trie le jeu de résultats sur la base de la valeur totale d'une commande (quantité * prix). |
SELECT au_lname, au_fname
FROM authors
WHERE
(SUBSTRING(phone, 1, 3) = '415')
|
Affiche les auteurs dont l'indicatif régional est celui de San Francisco. |
SELECT ord_num, ord_date
FROM sales
WHERE
(ord_date >=
DATEADD(day, -10, GETDATE()))
|
Recherche toutes les commandes de la table sales qui ont été passées au cours des dix derniers jours. La date du jour est renvoyée par la fonction GETDATE( ). |
Opérateurs pour les expressions
Vous pouvez utiliser différents opérateurs dans la construction d'expressions pour votre requête, notamment des opérateurs mathématiques et des opérateurs texte.
Opérateurs mathématiques
Le tableau suivant présente les opérateurs mathématiques que vous pouvez utiliser dans la construction d'une expression.
| Opérateur |
Signification |
| +, - |
Unaire positif, négatif |
| + |
Addition |
| - |
Soustraction |
| * |
Multiplication |
| / |
Division |
Remarque
Remarque Vous pouvez utiliser les autres opérateurs disponibles, comme l'opérateur « % » pour déterminer les modulos ou les restes d'opérations arithmétiques. Pour plus d'informations sur l'opérateur arithmétique modulo, voir la documentation de Microsoft SQL Server.
Si vous utilisez plusieurs opérateurs mathématiques dans une expression, le Concepteur de requête traite l'expression selon les priorités d'opérateur suivantes. Pour forcer la priorité par défaut, utilisez des parenthèses autour de la partie de l'expression qui doit être évaluée en premier. S'il y a plusieurs opérateurs de même niveau, les opérateurs sont évalués de gauche à droite.
- Unaire + et -
- * et /
- + et -
Opérateur texte
Vous pouvez effectuer une opération sur du texte : la concaténation, qui consiste à assembler des chaînes. Vous pouvez concaténer des chaînes et effectuer d'autres opérations (comme supprimer les espaces à gauche ou à droite) avec un seul opérateur. Pour concaténer une chaîne, vous pouvez utiliser l'opérateur + » dans le volet Grille.
Variables prédéfinies pour les expressions
En plus de l'utilisation de noms de colonne, de littéraux, d'opérateurs et de fonctions dans une expression, vous pouvez utiliser des variables prédéfinies qui ont défini certaines significations ou valeurs. Par exemple, vous pouvez utiliser une variable prédéfinie pour afficher le nom d'utilisateur de l'utilisateur actif ou pour faire des recherches dans des colonnes de données qui ne contiennent aucune valeur (null).
La liste ci-dessous comprend des exemples de variables prédéfinies.
| Variable prédéfinie |
Description |
Exemple |
| CURRENT_USER |
Le nom d'utilisateur de l'utilisateur actif Sécurité Utilisez cette fonctionnalité avec prudence. Vos informations sensibles ou confidentielles pourraient être transmises à d'autres utilisateurs. |
UPDATE accounts
SET salesperson = CURRENT_USER
WHERE region = 'NW'
Modifie la colonne salesperson pour tous les comptes de la région northwest (NW) en lui affectant le nom d'utilisateur de l'utilisateur actif.
|
| NULL |
Une valeur null, utilisée dans les expressions de recherche
IS NULL et
IS NOT NULL |
SELECT emp_id, lname, fname, minit
FROM employee
WHERE minit IS NULL
Recherche les auteurs qui n'ont pas de deuxième initiale.
Remarque Le mot-clé IS est un opérateur spécial utilisé avec NULL.
|