Requetes pl sql

De system.co.free.fr.
(Différences entre les versions)
(REGEXP_LIKE)
(REGEXP_LIKE)
Ligne 43 : Ligne 43 :
:$:fin de ligne
:$:fin de ligne
:<nowiki>?:</nowiki>l'élément précédent est facultatif ou apparaît 1 fois
:<nowiki>?:</nowiki>l'élément précédent est facultatif ou apparaît 1 fois
-
:*:l'élément précédent est facultatif ou apparaît plusieurs fois
+
:<nowiki>*</nowiki>:l'élément précédent est facultatif ou apparaît plusieurs fois
:.:remplace un caractère
:.:remplace un caractère
:+:l'élément précédent apparaît au moins une fois
:+:l'élément précédent apparaît au moins une fois

Version du 11 septembre 2011 à 17:44

Sommaire

liste des tables et vues

liste des tables et vues accessibles au user lançant la commande, vues dynamiques comprises:

select table_name from cat order by table_name;


Pour information les noms commençant par 'V_$' appartiennent (comme les autres) a SYS. Il existe des synonymes publics pour ces vues qui commence par un 'V$'. Elles sont surtout utiles pour la surveillance en temps réel du système ou pour faire du tuning.

Chaînes de caractères

SQL permet de codifier les chaînes de caracteres dans des formats ou chaque caractère est sur 2 octects ( ASCII, EBCDIC) ou sur 4 octets (Unicode).

  • VARCHAR2(n): Chaîne de caractères de longueur variable avec n entre 1 et 32767, mais une colonne de ce type ne pourra excéder une longueur de 4000 caractères.
  • CHAR(n): Chaîne de caractère de longueur fixe définie a la création de la table, avec n entre 1 et 32767 mais une colonne de ce type ne pourra excéder une longueur de 2000 caractères.


Pour les chaines dont le type commence par N comme nationaux la longueur en caractère dépend du nombre d'octets utilisé pour coder un caractère:

  • NVARCHAR2: Chaîne de caractères de longueur variable pour les jeux de caractères nationaux.D'une longueur de 32767 octets.
  • NCHAR: Chaîne de caractères de longueur fixe pouvant atteindre 32767 octets.


Operateurs sur les chaines de caracteres

LIKE

effectue des recherches dans des chaînes de caractères.

  • % caractère générique qui remplace une chaîne de 0 a n caractères.
  • _ remplace un caractère quelconque, obligatoirement existant.

Exemples:

select NOM_PRODUIT, QUANTITE from PRODUITS where QUANTITE like '%bo_tes%kg%';


NOM_PRODUIT                              QUANTITE
---------------------------------------- -------------------------------------------
Konbu                                    1 boîtes (2 kg)
Alice Mutton                             20 boîtes (1 kg)



REGEXP_LIKE

REGEXP_LIKE(chaîne, chaîne_rationnel [, parametre]):recherche d'une expression rationnelle dans une chaîne

  • chaine: chaine a traiter.
  • chaîne_rationnel: chaine de la recherche rationnelle.Rappel succin:
^:début de ligne
$:fin de ligne
?:l'élément précédent est facultatif ou apparaît 1 fois
*:l'élément précédent est facultatif ou apparaît plusieurs fois
.:remplace un caractère
+:l'élément précédent apparaît au moins une fois
{n}:l’élément précédent doit apparaître n fois
{n,}:l’élément précédent doit apparaître n fois ou plus
{,n}:l’élément précédent doit apparaître au plus n fois
{n,m}:l’élément précédent doit apparaître entre n et m fois
[abcdef]:correspondance avec l'un des caractères situé entre les crochets
  • parametre:
i: ignorer les differences majuscules et minuscules
c: respecter les differences majuscules et minuscules
x: ignorer les espaces dans la chaîne a traiter



Fonctions sur les chaines de caracteres

Majuscule/Minuscule

  • LOWER(chaîne) = chaîne :converti les majuscules de chaîne en minuscules.Retourne la chaîne converti.
  • UPPER(chaîne) = chaîne :converti les minuscules de chaîne en minuscules.Retourne la chaîne converti.
  • INITCAP(chaîne) = chaîne :converti en majuscule la première lettre de chaque mot de la chaîne et toutes les autres lettres en minuscules.Sont considéré comme séparateur de mots tous les caractères qui ne sont pas des lettres.


Concatenation

  • CONCAT(chaîne1,chaîne2) = chaîne1+chaîne2 :concaténation de 2 chaînes.
  • chaîne1||chaîne2 = chaîne1+chaîne2 : concaténation de 2 chaînes.

Exemple:

Select concat(concat(NOM, ' '), PRENOM), NOM||' '||PRENOM from EMPLOYES;



Remplissage

  • LPAD(chaîne1,long[,chaîne2]) = chaîne:complète ou tronque à gauche (left) a la longueur long de chaîne1.

chaîne1:chaîne a traiter
long: longueur de la chaîne après le traitement
chaîne2: motif du remplissage.
La fonction LDAP redimensionne la chaîne1 à la longueur long soit en tronquant chaîne1 soit en y ajoutant chaîne2 autant de fois que nécessaire.

  • RPAD(chaîne1,long[,chaîne2]) = chaîne:complète ou tronque à droite (right) a la longueur long de chaîne1.

chaîne1:chaîne a traiter
long: longueur de la chaîne après le traitement
chaîne2: motif du remplissage.Si non indiqué l'espace est utilisé.
La fonction LDAP redimensionne la chaîne1 à la longueur long soit en tronquant chaîne1 soit en y ajoutant chaîne2 autant de fois que nécessaire.

Outils personnels