Partager via


Fonctions pour les expressions

Mise à jour : novembre 2007

Les fonctions sont des opérations stockées que vous pouvez utiliser. Les systèmes de gestion des bases de données fournissent des fonctions de base, mais vous pouvez également créer vos propres fonctions définies par l'utilisateur.

Lorsque vous élaborez une expression, vous pouvez appeler un certain nombre de fonctions, notamment les fonctions suivantes :

  • Fonctions de chaîne (caractères).

  • Fonctions de date.

  • Fonctions mathématiques.

  • Fonctions système.

  • Autres fonctions, notamment celles qui convertissent les données d'un type dans un autre type.

  • Fonctions définies par l'utilisateur.

En général, si vous êtes familiarisé avec les fonctions disponibles dans votre base de données, vous pouvez utiliser les noms de fonctions et la syntaxe pris en charge par cette base de données. Dans certains cas, par exemple, lorsque vous créez des vues, des procédures stockées ou des déclencheurs, vous devez utiliser les noms de fonctions et la syntaxe spécifiques à la base de données.

Le Concepteur de requêtes et de vues peut faciliter l'utilisation des fonctions :

  • en insérant correctement des guillemets dans les arguments des fonctions ;

  • en validant les types de données des arguments ;

  • en validant les types de données des valeurs de retour.

Pour plus d'informations sur les fonctions prises en charge par la base de données, consultez la documentation de votre base de données.

Remarque :

Vous pouvez utiliser un ensemble de fonctions spéciales, les fonctions d'agrégation telles que SUM( ) et AVG( ), pour créer des requêtes qui synthétisent les données. Pour plus d'informations, consultez Synthèse des résultats d'une requête.

Fonctions de chaîne

Le tableau suivant propose un échantillon des fonctions de manipulation de chaînes de caractères disponibles dans de nombreuses bases de données.

Fonction

Description

Exemple

LCASE( )*,  LOWER( )

Convertit les chaînes en minuscules.

Pour afficher le premier caractère en majuscule, utilisez :

  • SELECT UPPER(substring(nomf, 1, 1))

Pour convertir les caractères restants en minuscules, utilisez :

  • LOWER(substring (nomf, 2, 99))

FROM employee

Affiche un nom après avoir converti le premier caractère en majuscule et les caractères suivants en minuscules.

LTRIM( )

Supprime les espaces à gauche d'une chaîne.

SELECT stor_name, LTRIM(stor_address)
FROM stores

Affiche une colonne adresse après avoir supprimé les espaces superflus du début.

SUBSTRING( )

Extrait un ou plusieurs caractères d'une chaîne.

SELECT SUBSTRING(phone,1,3)
FROM employee

Affiche les deux premiers caractères (l'indicatif régional) d'un numéro de téléphone.

UCASE( )*,  UPPER( )

Convertit les chaînes en majuscules.

SELECT * FROM employee
WHERE UPPER(lname) = 'SMITH'

Convertit le contenu de la colonne lname en majuscules avant de le comparer à une valeur spécifique afin d'éviter les non-concordances lorsque la recherche respecte la casse.

*   Si vous appelez cette fonction en tant que fonction ODBC, utilisez la syntaxe suivante : { fn LCASE(text) }.

Fonctions de date

Les fonctions suivantes (ou d'autres fonctions similaires) sont disponibles dans de nombreuses bases de données.

Fonction

Description

Exemple

DATEDIFF( )

Calcule un intervalle entre deux dates.

SELECT fname, lname, hire_date
FROM employee
WHERE DATEDIFF(year, hire_date, getdate()) > 5

Recherche tous les employés embauchés il y a plus de cinq ans.

DATEPART( )

Retourne la partie spécifiée d'une colonne date ou datetime, y compris le jour, le mois ou l'année.

SELECT DATEPART(year, hire_date)
FROM employee

Affiche uniquement l'année à laquelle un employé a été embauché (et non la date complète).

CURDATE( )*,  GETDATE( ) ou DATE( )

Retourne la date du jour dans le format datetime. Cette fonction peut servir d'entrée pour d'autres fonctions de date, par exemple, pour calculer un intervalle entre la date du jour et une date passée ou future.

SELECT order_id
FROM orders
WHERE order_date = GETDATE()
Displays orders placed today.

Fonctions mathématiques

La plupart des bases de données proposent des fonctions mathématiques dont vous pouvez vous servir pour effectuer des calculs. Les fonctions suivantes sont généralement disponibles dans de nombreuses de bases de données.

Remarque :

Vous pouvez utiliser les fonctions d'agrégation AVG( ), COUNT( ), MAX( ), MIN( ) et SUM( ) pour créer des moyennes et des totaux dans votre rapport.

Fonction

Description

Exemple

ROUND( )

Arrondit un nombre à un nombre donné de positions décimales.

SELECT ROUND(qty * (price * discount), 2)
FROM sales

Affiche un prix total basé sur une remise, puis arrondit le résultat à la deuxième décimale.

FLOOR( )

Arrondit un nombre au nombre entier inférieur le plus proche

UPDATE titles
SET price = FLOOR(price)

Arrondit chaque prix dans la table titles au nombre entier inférieur le plus proche.

CEILING( )

Arrondit un nombre au nombre entier supérieur le plus proche

INSERT INTO archivetitle
SELECT title, CEILING(price)
FROM titles

Copie la valeur title et la valeur price (arrondie au nombre entier supérieur le plus proche) de la table titles vers la table archivetitle.

Fonctions système

La plupart des bases de données intègrent des fonctions spéciales qui vous permettent de renvoyer des informations sur la base de données en cours, l'utilisateur en cours ou le serveur. Les fonctions suivantes sont généralement disponibles dans de nombreuses de bases de données.

Fonction

Description

Exemple

DATALENGTH( )

Retourne le nombre d'octets utilisés par l'expression spécifiée.

SELECT DATALENGTH(au_lname)
FROM authors

Répertorie le nombre d'octets requis pour les noms et les prénoms.

USER( )*,  USER_NAME( )

Retourne le nom de l'utilisateur en cours.

SELECT company_name, city, phone
FROM customers
WHERE salesperson = USER_NAME()

Crée une liste de clients pour le vendeur qui exécute la requête.

Autres fonctions

Outre les fonctions décrites plus haut, la plupart des bases de données proposent d'autres fonctions qui facilitent la création des requêtes (conversion des types de données et autres fonctions utilitaires). Les fonctions utilitaires suivantes illustrent le type de fonctions disponible dans de nombreuses bases de données.

Fonction

Description

Exemple

CONVERT( )

Convertit des données d'un type dans un autre. Utile pour mettre en forme des données ou pour utiliser le contenu d'une colonne de données comme argument dans une fonction qui exige un type de données différent.

SELECT 'Hired: ' + CONVERT(char (11),
  hire_date)
FROM employee

Affiche une date précédée d'une légende ; la fonction CONVERT( ) crée une chaîne à partir de la date afin de pouvoir la concaténer avec une chaîne littérale.

SOUNDEX( )

Renvoie le code Soundex correspondant à l'expression spécifiée, dont vous pouvez vous servir pour créer des recherches phonétiques.

SELECT au_lname, au_fname
FROM authors
WHERE SOUNDEX(au_fname) = 'M240'

Recherche les noms qui se prononcent comme « Michael ».

STR( )

Convertit des données numériques en une chaîne de caractères pour que vous puissiez les traiter avec des opérateurs de texte.

SELECT str(job_id)
FROM employee

Affiche la colonne job_id sous la forme d'une chaîne unique.

Voir aussi

Concepts

Expressions dans des requêtes

Référence

Structure des expressions

Autres ressources

Interrogation avec des paramètres