25
3 Copyright © 2007, Oracle. Tous droits réservés. Utiliser des fonctions monolignes pour personnaliser les résultats

Les03

Embed Size (px)

DESCRIPTION

Les03 sql

Citation preview

Utiliser des fonctions monolignes
pour personnaliser les résultats
Objectifs
# décrire les différets types de foctio dispoi$les
e lagage %&'
# utiliser des foctios de type date, caract(re ou u)éri*ue
das des istructios SELECT 
 
Fonctions SQL
Deu t!pes de fonction SQL
Fonctions
monolignes
Fonctions
multilignes
"en#oient un résultat par ligne "en#oient un résultat par jeu de lignes
Fonctions
Fonctions monolignes
# )aipulet des doées
# acceptet des argu)ets et revoiet ue valeur
# agisset sur cha*ue lige revoyée
# revoiet u résultat par lige
# peuvet )odifier le type de doées
# peuvet tre i)$ri*uées
# acceptet des argu)ets *ui peuvet se préseter
sous la for)e due coloe ou due e/pressio
function_name [(arg1, arg2,...)] 
Fonctions monolignes
$on#ersion
$aract%re
Fonctions de t!pe caract%re
Fonctions
Fonctions
Fonctions de con#ersion de casse
Ces foctios covertisset la casse de chaes
de caract(res "
SELECT employee_!" l#$%_&#me" !ep#'%me&%_! ROM employee$
 WHERE LOWER(l#$%_&#me) *+,,&$*-
 Affiche! le u)éro de)ployé, le o) et le u)éro
de départe)et de le)ployé 6iggis "
SELECT employee_!" l#$%_&#me" !ep#'%me&%_! ROM employee$
 WHERE l#$%_&#me *+,,&$*-
Fonctions de manipulation de caract%res
Ces foctios )aipulet les chaes de caract(res "
BLACK and BLUEREPLACE
('ACK and UE'!''!'BL')
/o0_!" LENGTH (l#$%_&#me)"
INSTR(l#$%_&#me" *#*) 1Co&%#&$ *#*21
de caract%res
Fonctions numéri'ues
# ROUN* " Arrodit ue valeur u o)$re de déci)ales
doé. 
# TRUNC " Tro*ue ue valeur u o)$re de déci)ales
doé. 
"##,O*("&##! /##)
SELECT ROUND(345678"7)" ROUND(345678"9)" ROUND(345678":;)
Utiliser la fonction ROUND 
 
)
Utiliser la fonction TRUNC 
SELECT TRUNC(345678"7)" TRUNC(345678)" TRUNC(345678":;)
Copyright © 2007, Oracle. Tous droits réservés.3 - 5
SELECT l#$%_&#me" $#l#'y" MOD($#l#'y" 4999) ROM employee$
 WHERE /o0_! *SA_REP*-
Utiliser la fonction MOD 
8our tous les e)ployés occupat u poste de vedeur, calcule!
le reste du salaire apr(s sa divisio par 000.
 
 WHERE +'e_!#%e < **9;:EB:==*-*-
Utiliser des dates
# 'a $ase de doées Oracle stoc9e les dates selo u for)at
u)éri*ue itere " si(cle, aée, )ois, :our, heures,
)iutes et secodes.
# 'e for)at par défaut daffichage de la date est ;;-<O=-.
 > ?ous pouve! stoc9er des dates du 25()e si(cle au 20()e si(cle
e idi*uat seule)et les deu/ deriers chiffres
de laée.
 > ?ous pouve! stoc9er des dates du 20()e si(cle au 25()e si(cle
de la ))e )ai(re.
 
Format de date RR
La date ren#o!ée appartient au si%cle en cours
La date ren#o!ée appartient au si%cle sui#ant celui en cours
La date ren#o!ée appartient au si%cle précédant celui en cours
 
 
Utiliser la fonction S>SDATE 
S2S*ATE est ue foctio *ui revoie " 
# la date
# lheure
 
# ?ous pouve! a:outer u o)$re ue date
ou le soustraire pour o$teir ue ouvelle date.
# ?ous pouve! soustraire deu/ dates pour coatre
le o)$re de :ours *ui les sépare.
# ?ous pouve! a:outer des heures ue date
e divisat le o)$re dheures par 2+.
 
Copyright © 2007, Oracle. Tous droits réservés.3 - 25
SELECT l#$%_&#me" (S>SDATE:+'e_!#%e)@ AS WEES ROM employee$
 WHERE !ep#'%me&%_! 69-
a#ec des dates
Fonctions de manipulation de dates
our suivat la date idi*uéeNE3T4*A2
;erier :our du )oisLAST4*A2
 Arrodi de la dateROUN*
Trocature de la dateTRUNC
=o)$re de )ois etre deu/ dates,ONT%S4BETWEEN
 A:out de )ois caledaires la dateA**4,ONT%S
ésultat4octio
Utiliser les fonctions de t!pe date
'#56SEP61.'NE3T4*A2 ('#"6SEP61.'!'-RI*A2')
('#"6SEP61.'!'""6AN61')
ésultat4octio
Utiliser les fonctions ROUND et TRUNC  a#ec des dates
6ypoth(se " S2S*ATE 8 '.6UL6#/' "
#"6UL6#/TRUNC(S2S*ATE !',ONT%')
#"6AN6#/TRUNC(S2S*ATE !'2EAR')
#"6AU$6#/ROUN*(S2S*ATE!',ONT%')
ésultat4octio
S!nt%se
Ce chapitre vous a per)is dappredre "
# effectuer des calculs sur les doées laide de foctios
 
8résentation de leercice )
;as cet e/ercice, vous alle! "
# écrire ue iterrogatio affichat la date du :our
# créer des iterrogatios écessitat lutilisatio de foctios
de type u)éri*ue, caract(re et date
# effectuer des calculs portat sur les aées