Vous êtes sur la page 1sur 15

Les fonctions dans SQL

Par SQLPro

Date de publication : 9 fvrier 2009

Le prsent tableau fait une synthse des fonctions de la norme SQL (1992 2008), mais
aussi des fonctions que l'on trouve dans les principaux dialectes des SGBDR que sont
Paradox, Access, MySQL, PostGreSQL, SQL Server, Oracle et InterBase.
Ce tableau ne prtend pas l'exhaustivit mais permet la comparaison de l'implmentation
des fonctions du SQL dans diffrents dialectes.

Les fonctions dans SQL par SQLPro

1 - Les fonctions dans SQL........................................................................................................................................ 3


1.1 - Agrgation statistique.................................................................................................................................... 3
1.2 - Fonction "systme"........................................................................................................................................ 3
1.3 - Fonctions gnrales...................................................................................................................................... 4
1.4 - Fonctions de chanes de caractres............................................................................................................. 5
1.5 - Fonctions de chanes de bits........................................................................................................................ 7
1.6 - Fonctions numriques................................................................................................................................... 7
1.7 - Fonctions temporelles....................................................................................................................................9
1.8 - Fonctions OLAP (norme SQL:1999)........................................................................................................... 10
1.9 - Fonctions de fentrage et analytiques (normes 2003 et 2008)...................................................................11
1.10 - Prdicat, oprateurs et structures diverses...............................................................................................13
1.11 - Fonctions spciales....................................................................................................................................14
1.12 - Sous requtes............................................................................................................................................14

-2-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

1 - Les fonctions dans SQL


Lgende :
O : Oui
N : Non
X : Existe mais syntaxe hors norme
! : Mme nom mais fonction diffrente
- : implmentation partielle

1.1 - Agrgation statistique


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
AVG
Moyenne O
O
O
O
O
O
O
O
COUNT Nombre
O
O
X
O
O
O
O
O
MAX
Maximum O
O
O
O
O
O
O
O
MIN
Minimum O
O
O
O
O
O
O
O
SUM
Total
O
O
O
O
O
O
O
O
EVERY Tous
O
N
N
N
N
N
N
N
(boolen)
ANY / Au
O
N
N
N
N
N
N
N
SOME moins
un
(boolen)

1.2 - Fonction "systme"


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
CURRENT_DATE
Date
O
N
N
O
O
N
N
O
courante
CURRENT_TIME
Heure
O
N
N
O
O
N
N
O
courante
CURRENT_TIMESTAMP
Date et
O
N
N
O
O
O
N
O
heure
courante
CURRENT_USER
Utilisateur O
N
N
N
O
O
N
N
courant
SESSION_USER
Utilisateur O
N
N
X
O
O
N
N
autoris
SYSTEM_USER
Utilisateur O
N
N
X
O
O
N
N
systme
CURDATE
Date du
N
N
N
O
N
N
N
N
jour
CURTIMEHeure
N
N
N
O
N
N
N
N
courante
DATABASE
Nom
N
N
N
O
N
O
O
N
de la
bases
de

-3-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

donnes
courante
GETDATE
Heure
et date
courante
NOW
Heure
et date
courante
SYSDATE
Date
et/ou
heure
courante
TODAY Date du
jour
USER Utilisateur
courant
VERSIONVersion
du
SGBDR

1.3 - Fonctions gnrales


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
CAST TranstypageO
O
N
O
O
O
O
O
COALESCE
Valeur
O
N
N
O
O
O
N
N
non
NULL
NULLIF Valeur
O
N
N
O
O
O
N
N
NULL
OCTET_LENGTH
Longueur O
N
N
O
O
N
O
N
en octet
DATALENGTH
Longueur N
N
N
N
N
O
N
N
DECODEFonction
N
N
N
N
N
N
O
N
conditionnelle
GREATEST
Plus
N
N
N
O
N
N
O
N
grande
valeur
IFNULL Valeur
N
N
N
O
O
O
N
N
non
NULL
LEAST Plus
N
N
N
N
O
N
O
N
petite
valeur
LENGTHLongueur N
N
O
O
O
O
O
N
NVL
Valeur
N
N
N
N
N
N
O
N
non
NULL
TO_CHAR
Conversion N
N
N
N
N
N
O
N
de
donnes

-4-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

en
chane
TO_DATEConversion N
en date
TO_NUMBER
Conversion N
en
nombre

1.4 - Fonctions de chanes de caractres


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
||
Concatnation
O
O
N
X
O
N
O
O
CHAR_LENGTH
Longueur O
N
N
X
O
N
N
N
d'une
chane
CHARACTER_LENGTH
Longueur O
N
N
O
O
O
N
N
d'une
chane
COLLATESubstitution O
N
N
N
N
N
N
O
une
squence
de
caractres
CONCATENATE
Concatnation
O
N
N
N
N
O
N
N
CONVERT
Conversion O
N
N
N
N
!
O
O
de
format
de
caractres
LIKE
ComparaisonO
O
X
O
O
O
O
O
(prdicat)partielle
LOWER Mise en
O
O
N
O
O
O
O
N
minuscule
POSITION
Position
O
N
N
O
O
N
N
N
d'une
chane
dans
une
sous
chane
SUBSTRING
Extraction O
O
N
O
O
N
N
N
d'une
sous
chane
TRANSLATE
Conversion O
N
N
N
X
N
X
N
de
jeu de
caractres
TO_CHAR
Conversion N
N
N
N
N
N
O
N
de
donnes
en
chane
TRIM
SuppressionO
O
N
O
O
N
O
N
des
-5-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

caractres
inutiles
UPPER Mise en
O
O
majuscule
CHAR Conversion N
N
de code
en
caractre
ASCII
CHAR_OCTET_LENGTH
Longueur N
N
d'une
chane
en
octets
CHARACTER_MAXIMUM_LENGTH
Longueur N
N
maximum
d'une
chane
CHARACTER_OCTET_LENGTH
Longueur N
N
d'une
chane
en
octets
CONCATConcatnation
N
N
ILIKE
LIKE
N
N
insensible
la
casse
INITCAP Initiales
N
N
en
majuscule
INSTR Position
N
N
d'une
chane
dans
une
autre
LCASE Mise en
N
N
minuscule
LOCATE Position
N
O
d'une
chane
dans
une
autre
LPAD
RemplissageN
N

gauche
LTRIM TRIM
N
O
gauche
NCHAR Conversion N
N
de code
en
caractre
UNICODE
PATINDEX
Position
N
N
d'un

O
N

O
N

N
O

O
N

O
N

N
N

-6-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

motif
dans
une
chane
REPLACE
Remplacement
N
de
caractres
REVERSE
Renversement
N
RPAD RemplissageN
droite
RTRIM TRIM
N
droite
SPACE Gnration N
d'espaces
SUBSTRExtraction N
d'une
sous
chane
UCASE Mise en
N
majuscule
SIMILARRecherches N
de
motifs
avancs

N
N

N
N

O
O

N
O

O
N

O
O

N
N

1.5 - Fonctions de chanes de bits


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
BIT_LENGTH
Longueur O
N
N
N
N
N
N
N
en bit
&
"et"
N
N
?
?
?
O
?
?
pour bit
logique
|
"ou"
N
N
?
?
?
O
?
?
pour bit
logique
^
"ou"
N
N
?
?
?
O
?
?
exclusif
pour bit
logique

1.6 - Fonctions numriques


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
%
Modulo
N
N
N
O
O
O
N
N
+ - * / ( ) Oprateurs O
O
O
O
O
O
O
O
et
parenthsage
ABS
Valeur
N
N
O
O
O
O
O
N
absolue
ASCII Conversion N
N
O
O
O
O
O
N
de
caractre
-7-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

en code
ASCII
ASIN
Angle
N
de
sinus
ATAN
Angle
N
de
tangente
CEILINGValeur
N
approche
haute
COS
Cosinus
N
COT
Cotangente N
EXP
ExponentielleN
FLOOR Valeur
N
approche
basse
LN
Logarithme N
nprien
LOG
Logarithme N
nprien
LOG(n,m)Logarithme N
en base
n de m
LOG10 Logarithme N
dcimal
MOD
Modulo
N
PI
Pi
N
POWER Elvation N
la
puissance
RAND Valeur
N
alatoire
ROUND Arrondi
N
SIGN
Signe
N
SIN
Sinus
N
SQRT Racine
N
carre
TAN
Tangente N
TRUNC Troncature N
TRUNCATE
Troncature N
UNICODE
Conversion N
de
caractre
en code
UNICODE

N
N
N
N

O
O
O
O

O
O
O
O

O
O
O
O

O
O
O
O

O
N
O
O

N
N
N
N

N
N
N

O
N
O

O
O
O

O
O
N

O
O
O

O
O
O

N
N
N

N
N
N
N

O
O
O
O

O
O
O
O

O
O
O
O

O
O
O
O

N
O
O
N

N
N
N
N

N
N
N
N

O
N

O
N
O
N

O
N
O
N

O
N
O
O

O
O
O
?

N
N
N
N

-8-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

1.7 - Fonctions temporelles


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
EXTRACT
Partie
O
O
N
O
O
N
O
N
de date
INTERVAL
Dure
O
N
N
N
N
N
O
N
(oprations
sur)
OVERLAPS
Recouvrement
O
N
N
N
O
N
N
N
(prdicat)de
priode
ADDDATE
Ajout
N
N
N
O
N
N
N
N
d'intervalle
une
date
AGE
Age
N
N
N
N
O
N
N
N
DATE_ADD
Ajout
N
N
N
O
N
N
N
N
d'intervalle
une
date
DATE_FORMAT
Formatage N
N
N
O
N
N
N
N
de date
DATE_PART
Partie
N
N
N
N
O
N
N
N
de date
DATE_SUB
Retrait
N
N
N
O
N
N
N
N
d'intervalle
une
date
DATEADD
Ajout de
N
N
N
N
N
O
N
N
date
DATEDIFF
Retrait
N
N
N
N
N
O
N
N
de date
DATENAME
Nom
N
N
N
N
N
O
N
N
d'une

-9-

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

partie
de date
DATEPART
Partie
N
de date
DAY
Jour
N
d'une
date
DAYNAME
Nom du
N
jour
DAYOFMONTH
Jour du
N
mois
DAYOFWEEK
Jour
N
de la
semaine
DAYOFYEAR
Jour
N
dans
l'anne
HOUR Extraction N
de
l'heure
LAST_DAY
Dernier
N
jour du
mois
MINUTE
N
MONTH Mois
N
d'une
date
MONTH_BETWEEN
MONTH_BETWEEN
N
MONTHNAME
Nom du
N
mois
NEXT_DAY
Prochain
N
premier
jour
de la
semaine
SECONDExtrait
N
les
secondes
SUBDATE
Retrait
N
d'intervalle
une
date
WEEK Numro
N
de la
semaine
YEAR Anne
N
d'une
date

N
N

O
O

O
O

N
N

O
O

N
O

N
N

N
N

N
N

1.8 - Fonctions OLAP (norme SQL:1999)


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Interbase
SQL
Server
CUBE Sous
O
N
N
N
N
O
O
N
totaux

- 10 -

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

des
agrgats
pour
toutes
les
combinaisons
possibles
ROLLUPSous
O
totaux
des
agrgats
pour
toutes
les
comibinaisons
visibles
GROUPING
Sous
O
SETS totaux
des
agrgats
pour
toutes
les
comibnaisons
spcifies
GROUPINGS
Indicateur O
de sous
totalisation
NULL
SpcificationO
FIRTS / de
NULL
classement
LAST
pour les
marqueurs
NULL

1.9 - Fonctions de fentrage et analytiques (normes 2003 et 2008)


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Firebird
SQL
Server
ROW_NUMBER
NumrotationO
N
N
N
N
O
O
N
des
lignes
RANK Classement O
O
N
N
N
N
O
O
avec
trou (ex
quo)
DENSE_RANK
Classement O
N
N
N
N
O
O
N
sans

- 11 -

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

trou (ex
quo)
CUME_DIST
Distibution O
cumulative
NTILE N-tile
O
(dcile,
centile, ....)
Agrgats Calcul
O
(MAX, d'agrgat
MIN,
avec
COUNT, fentrage
SUM...)
ROWS / Fentre
O
RANGE de
calcul
par
ligne ou
valeurs
PRECEDING
Bornage
O
*/
de la
FOLLOWING
fentre
*/
de
BETWEEN
calcul
LAG /
Borne
O
LEAD prcdente,
suivante
FIRST_VALUE
Borne /
O
LAST_VALUE
premire,
/
NTH_VALUE
dernire,
Ne.
valeur
EXCLUDEE
Exclusion O
(CURRENT
de ligne
ROW,
GROUP
TIES,
NO
OTHER)
Clause Dfinition O
WINDOWd'une
fentre
de
calcul

- 12 -

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

1.10 - Prdicat, oprateurs et structures diverses


Fonction
DescriptionNorme Paradox Access MySQL
PostGreSQLSQL Oracle Firebird
SQL
Server
CASE Structure O
N
N
O
O
O
X
O
conditionnelle
IS
Vrai
O
N
N
N
N
N
N
N
[NOT]
TRUE
IS
Faux
O
N
N
N
N
N
N
N
[NOT]
FALSE
IS
Inconnu
O
N
N
N
N
N
N
N
[NOT]
UNKNOWN
IS
NULL
O
O
X
O
O
O
O
O
[NOT]
NULL
INNER Jointure
O
O
O
O
O
O
N
O
JOIN
interne
LEFT, Jointure
O
O
O
O
O
O
N
O
RIGHT, externe
FULL
OUTER
JOIN
NATURAL
Jointure
O
N
N
O
O
N
N
N
JOIN
naturelle
UNION Jointure
O
N
N
N
N
N
N
N
JOIN
d'union
LEFT, Jointure
O
N
N
X
O
N
N
N
RIGHT, naturelle
FULL
externe
OUTER
NATURAL
JOIN
INTERSECT
Intersection O
?
N
N
O
N
X
N
(ensemble)
UNION Union
O
?
O
N
O
O
O
O
(ensemble)
EXCEPTDiffrence O
?
N
N
O
N
X
N
(ensemble)
[NOT] Liste
O
O
O
X
O
O
O
O
IN
[NOT] Fourchette
O
O
O
O
O
O
O
BETWEEN
[NOT] Existence O
?
?
N
O
O
O
O
EXISTS
ALL
ComparaisonO
?
O
N
O
O
O
O
toutes
les
valeurs
d'un
ensemble
ANY / ComparaisonO
?
O
N
O
O
O
O
SOME au
moins
- 13 -

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

une
valeur
de
l'ensemble
UNIQUE Existance O
sans
doublons
MATCH Correspondance
O
UNIQUE
row
Construteur O
value
de ligne
construteur
values

1.11 - Fonctions spciales


Fonction NormeDescription
Paradox Access MySQL
PostGreSQLSQL Oracle Firebird
SQL
Server
TABLE chantillon O
N
N
N
N
O
O
N
SAMPLEde
donnes
TRUNCATE
Vidage
O
N
N
N
N
O
O
O
de table
OFFSET Limitation
/
O
N
N
N
N
N
N
N
FETCH des
lignes
retournes
LIMIT/ Nombre
N
N
N
LIMIT
LIMIT
TOP
N
ROWS
TOP
de ligne
retourne
"Row
Identifiant N
N
N
_rowid
oid
N
rowid
?
Id"
de ligne

1.12 - Sous requtes


Fonction Norme Paradox Access
SQL
Imbriques O
O
O
Corrles
O
O
O
Dans la
O
X
O
clause
SELECT
Dans la
O
N
N
clause
FROM
Dans la
O
O
O
clause
WHERE
Dans la
O
O
N
clause
HAVING
CTE
O
N
N
(Common
Table
Expression :

MySQLPostGreSQL SQL
Server
N
O
O
N
O
O
N
O
O

Oracle

Firebird

O
O
O

O
O
O

- 14 -

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Les fonctions dans SQL par SQLPro

expression
de table)
Requtes
rcursives
via CTE

- 15 -

Copyright 2009 Frdric Brouard. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://sqlpro.developpez.com/cours/sqlaz/fonctions/