Vous êtes sur la page 1sur 4

ORACLE-SQL : Les fonctions de lignes

1. Les fonctions de caractres :

Syntaxe

Dfinition

Exemple

LOWER(arg)

Renvoielargumentenminuscule

LOWER(SMITH)smith

UPPER(arg)

Renvoielargumentenmajuscule.
Metenmajusculelapremirelettredechaquemot,leslettresrestantesde
chaquemotsontmisesenminuscule.
Renvoielaconcatnationdesdeuxarguments.Equivalent||
Retournelasouschanedelargumentquicommencedelammepositionet
delongueurn
Retournelatailledelargumentennombredecaractres
Retournelapositiondelanmeoccurrencedeccdanslargumenten
commenantparlapositionm.Pardfautmetnsontmis1.
Rembourrelargumentgaucheplusieursfoisparlescaractresdecc
jusqucequelatailledelachaneretournesoitdem.Pardfaut,ccest
lespace
Rembourrelargumentdroiteplusieursfoisparlescaractresdeccjusqu
cequelatailledelachaneretournesoitdem.

UPPER(smith)SMITH

INITCAP(arg)
CONCAT(arg1,arg2)
SUBSTR(arg,m[,n])
LENGTH(arg)
INSTR(arg,cc[,m][,n])
LPAD(arg,m[,cc])
RPAD(arg,m[,cc])

Renvoielargumentdontellelaguechaquecaractredeccsicecaractre
setrouvesonextrmitgauche.

LTRIM(arg,cc)
RTRIM(arg,cc)
TRIM([LEADING|TAILING|BOTH
]ccFROMarg)
REPLACE(arg,cc1[,cc2])

INITCAP(SMITH)Smith
CONCAT(SMITH,estClerk.)SMITHestClerk.
SUBSTR(ORACLE,2,4)RACL
SUBSTR(ORACLE,2)RACLE
LENGTH(SQL)3
INSTR(ABCAB,AB,2,2)0;INSTR(ABCAB,AB,2,1)4
INSTR(ABCAB,BC)2
LPAD(SQL,8,or)ororoSQL
RPAD(SQL,8,or)SQLororo
LTRIM(OPERATION,ASPO)ERATION

Renvoielargumentduquelellelaguechaquecaractredeccsicecaractre
RTRIM(OPERATION,ONI)OPERAT
setrouvesonextrmitdroite
siLEADINGestprcisalorslafonctionestquivalenteLTRIM,siTAILING
estprcisalorslafonctionestquivalenteRTRIMsinonavecBOTH,

llagagesefaitdesdeuxcots.BOTHestconsidrpardfaut.
REPLACE(SMITH,MI,ABC)SABCTH
Remplacelasouschanecc1parlasouschanecc2danslargument.Sicc2
REPLACE(SMITH,AX,ABC)SMITH
estomisealorstouteslesoccurrencesdecc1sontenlevesdelargument.
REPLACE(SMITH,MI)STH

InstitutSuprieurdeGestionDpartementInformatiqueModuleBasedeDonnes3IAGet2LFIGPage1

2. Les fonctions numriques :

Syntaxe
ROUND(arg,n)

Dfinition
Arronditlargumentlaprcisionn,cdnchiffresdcimaux.Sin=0,alors
largumentestarrondisurlesunits,sinon(cason<0)largumentest
arronditsurle|n|+1mechiffregauchedelavirgule

TRUNC(arg,n)

Tronquelargumentlaprcisionn.

CEIL(arg)

Retournelepluspetitentiersuprieurlargument.

FLOOR(arg)

Retourneleplusgrandentierinfrieurlargument.

POWER(arg,n)
EXP(arg)
SQRT(arg)
SIGN(arg)
ABS(arg)
MOD(arg,n)
LOG(m,arg)
SIN(arg)
COS(arg)

Retournelargumentlapuissancen.
Exponentielledelargument.
Racinecarrdelargument.
1siarg<0,1siarg>0,0sinon
Valeurabsoluedelargument.
Argumentmodulon.
Logarithmedebasemdelargument.
Sinusdelargument.
Cosinusdelargument.

Exemple
ROUND(46.8)47
ROUND(46.862,1)46.9
ROUND(46.862,2)46.86
ROUND(46.862,1)50
ROUND(51.342,2)100;ROUND(49,2)0
TRUNC(46.862,1)46.8
TRUNC(46.862,2)46.86
TRUNC(46.862,1)40
TRUNC(51.342,2)0;TRUNC(49,2)0
CEIL(99.9)100
CEIL(11.1)11
FLOOR(99.9)99
FLOOR(11.1)12

3. Les oprations et les fonctions de Date :

Syntaxe
SYSDATE
arg+n
arg1arg2
arg+n/24
MONTHS_BETWEEN(arg1,arg2)
ADD_MONTHS(arg,n)

Dfinition
Retourneladateetlheuresystme.
Ajouteousoustraitnjourslargument(selonlesigneden)et
retourneladatersultante.
Retournelenombredejoursendiffrenceentredeuxdates.
Ajoutenheuresladate.
Retournelenombredemoisendiffrenceentredeuxdates.
Retourneladatequisurvientaprsnmoisdelargument.

Exemple
SELECTSYSDATEFROMDUAL;21OCT0812:11
SYSDATE+122OCT0812:11
22OCT0812:1121OCT0800:011.5
21OCT0800:01+1.522OCT0812:11
months_between('22oct08','20sep08')1.06
Add_months(22oct08,2)22dec08

InstitutSuprieurdeGestionDpartementInformatiqueModuleBasedeDonnes3IAGet2LFIGPage2

Syntaxe
NEXT_DAY(arg,char/n)
char{Monday,Tuesday,,Saturday},
n{1,2,,7}
LAST_DAY(arg)

ROUND(arg[,fmt])

TRUNC(arg[,fmt])

Dfinition

Exemple

retourneleprochainjourchardanslasemainedelargument.

NEXT_DAY(20OCT08,Thursday)23OCT08

Renvoieladatedudernierjourdumoisdelargument.
Retournelargumentarrondiselonleformatfmt(lesformatsde
datefontlobjetdelannexeB).Parexemple,sifmt=MM,alors
larrondissementestfaitsurlemois,lersultatretournestladate
du1erjourdumoisdelargumentsiDD15,etladatedu1erjourdu
moissuivantsinon.Sifmt=YY,alorslersultatestladatedu1er
jourdelannededate1siMM6,etladatedu1erjourdelanne
suivantesinon.Sifmtestomise,alorslargumentestarrondiaujour
leplusproche.Lorsquefmtestomise,alorslarrondissementest
faitsurlejour,lafonctionretournelammedatesilheureest<
12:00,etladatedulendemainsilheureest12:00.

LAST_DAY(20OCT08)31OCT08

Retournelargumenttronquselonfmt.

ROUND(20OCT0812:01)21OCT0800:00
ROUND(20OCT0811:59)20OCT0800:00
ROUND(20OCT08,MM)01NOV0800:00
ROUND(14OCT08,MM)01OCT0800:00
ROUND(20OCT08,YY)01JAN0900:00
ROUND(20MAY08,YY)01JAN0800:00

TRUNC(20OCT0823:01)20OCT08
TRUNC(20OCT08,MM)01OCT08
TRUNC(20OCT08,YY)01JAN08

4. Les fonctions de conversion

Syntaxe

TO_CHAR(NOMBRE,fmt)
TO_NUMBER(char,fmt)

Dfinition
Convertitunedateenchanedecaractresetlaffichedansleformat
fmtindiqu.
Convertitunnombreenchanedecaractredansleformatspcifi.
Convertitunechanedecaractreennombre.

TO_DATE(char,fmt)

Convertitcharendateselonleformatdedatementionne.

TO_CHAR(Date,fmt)

Exemple
TO_CHAR(20OCT08,DD/MM/YYYY)20/10/2008
TO_CHAR(20OCT08,DAY)MONDAY
TO_CHAR(900,$9.999)$900.000
TO_NUMBER($1500,$9999)1500
TO_DATE(23/10/2004,DD/MM/YYYY)retourneladate
dansleformatORACLE,savoir23OCT04

5. Les fonctions oprant sur tous types de donnes

Syntaxe
DECODE(arg,SEARCH1,val1,[SEARCH2,val2,
],default_arg)
NVL(arg,val)
GREATEST(arg1,arg2,)
LEAST(arg1,arg2,)

Dfinition
Cettefonctionretournevalisiarg=SEARCHi,siaucunevaleurSEARCHi
necorrespondlargumentarg,alorsdefault_argseraretourne.
RetournevalsilargumentestNULLsinonlavaleurdelargument.
Retourneleplusgrandargumentdanslalistedesparamtres.
Retournelepluspetitargumentdanslalistedesparamtres.

Exemple
TO_CHAR(20OCT08,DD/MM/YYYY)20/10/2008
TO_CHAR(20OCT08,DAY)MONDAY
TO_CHAR(900,$9.999)$900.000
GREATEST(5,2,10)10
LEAST(20OCT08,10NOV05)10NOV05

InstitutSuprieurdeGestionDpartementInformatiqueModuleBasedeDonnes3IAGet2LFIGPage3

Syntaxe

Dfinition
Retourneennombredebytes(octets)latailledelacolonneoudela
valeur.

VSIZE(arg)

Exemple

Remarques gnrales :
-

Le langage SQL prsente une panoplie importante de fonctions. Chaque SGBD tend sa version du langage en ajoutant ses propres fonctions.
Ci-dessus, les fonctions spciaux ORACLE certaines dentre elles ne fonctionnent pas dans dautres SGBDs.
Une fonction de ligne retourne un unique rsultat pour chaque ligne de la table (si cette dernire satisfait la clause WHERE au cas o elle
existe).
Un argument peut tre une colonne, une constante, une fonction ou une opration. Largument doit respecter le type de donnes prescrit dans
la syntaxe de la fonction.
La table DUAL est une table systme qui inclut une seule ligne. Elle est utilise pour laffichage de fonctions oprant sur des constantes pour
ne pas itrer laffichage dun mme rsultat autant de fois que de lignes dans une table utilisateur.
Les formats de date sont disponibles dans lannexe B.

InstitutSuprieurdeGestionDpartementInformatiqueModuleBasedeDonnes3IAGet2LFIGPage4

Vous aimerez peut-être aussi