(→REGEXP_LIKE) |
(→Modification de la longueur) |
||
(17 versions intermédiaires masquées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | [[oracle|retour vers Oracle]] <br> <br> | ||
+ | |||
==liste des tables et vues == | ==liste des tables et vues == | ||
liste des tables et vues accessibles au user lançant la commande, vues dynamiques comprises: | liste des tables et vues accessibles au user lançant la commande, vues dynamiques comprises: | ||
Ligne 11 : | Ligne 13 : | ||
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). | 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). | ||
<br><br> | <br><br> | ||
- | *<b>VARCHAR2(n)</b>: Chaîne de caractères de longueur variable avec n entre 1 et 32767, mais <font color="red"><b>une colonne de ce type ne | + | *<b>VARCHAR2(n)</b>: Chaîne de caractères de longueur variable avec n entre 1 et 32767, mais <font color="red"><b>une colonne de ce type ne peut excéder une longueur de 4000 caractères.</b></font> |
- | *<b>CHAR(n)</b>: Chaîne de caractère de longueur fixe définie a la création de la table, avec n entre 1 et 32767 mais <font color="red"><b>une colonne de ce type ne | + | *<b>CHAR(n)</b>: Chaîne de caractère de longueur fixe définie a la création de la table, avec n entre 1 et 32767 mais <font color="red"><b>une colonne de ce type ne peut excéder une longueur de 2000 caractères.</b></font> |
<br> | <br> | ||
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: | 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: | ||
<br> | <br> | ||
*<b>NVARCHAR2</b>: Chaîne de caractères de longueur variable pour les jeux de caractères nationaux.D'une longueur de 32767 octets. | *<b>NVARCHAR2</b>: Chaîne de caractères de longueur variable pour les jeux de caractères nationaux.D'une longueur de 32767 octets. | ||
- | *<b>NCHAR</b>: Chaîne de caractères de longueur fixe pouvant atteindre 32767 octets. | + | *<b>NCHAR</b>: Chaîne de caractères de longueur fixe défini a la création pouvant atteindre 32767 octets. |
<br> | <br> | ||
+ | |||
==Operateurs sur les chaines de caracteres== | ==Operateurs sur les chaines de caracteres== | ||
===LIKE=== | ===LIKE=== | ||
Ligne 37 : | Ligne 40 : | ||
<br><br> | <br><br> | ||
===REGEXP_LIKE=== | ===REGEXP_LIKE=== | ||
- | <b>REGEXP_LIKE(chaîne, chaîne_rationnelle [, parametre])</b>:recherche d'une expression rationnelle dans une chaîne | + | <b>REGEXP_LIKE(chaîne, chaîne_rationnelle [, parametre])</b>:recherche d'une expression rationnelle (en anglais regular expression) dans une chaîne |
*chaine: chaine a traiter. | *chaine: chaine a traiter. | ||
- | *chaîne_rationnelle: chaine de la recherche rationnelle.Rappel | + | *chaîne_rationnelle: chaine de la recherche par expression rationnelle. |
+ | Rappel succinct: | ||
:^ :début de ligne | :^ :début de ligne | ||
:$ :fin de ligne | :$ :fin de ligne | ||
Ligne 51 : | Ligne 55 : | ||
:{n,m} :l’élément précédent doit apparaître entre n et m fois | :{n,m} :l’élément précédent doit apparaître entre n et m fois | ||
:[aef] :correspondance avec l'un des caractères situé entre les crochets | :[aef] :correspondance avec l'un des caractères situé entre les crochets | ||
+ | :(chaîne):sous chaine | ||
+ | :\:le caractère suivant est interprété littéralement. | ||
*parametre: | *parametre: | ||
Ligne 57 : | Ligne 63 : | ||
:x : ignorer les espaces dans la chaîne a traiter | :x : ignorer les espaces dans la chaîne a traiter | ||
+ | Exemple:<br> | ||
+ | <b> | ||
+ | <pre> | ||
+ | select QUANTITE from PRODUITS where regexp_like (QUANTITE, '(carton|pièce|bouteille)','i'); | ||
+ | |||
+ | QUANTITE | ||
+ | ------------------------------ | ||
+ | 24 bouteilles (1 litre) | ||
+ | 12 bouteilles (550 ml) | ||
+ | 12 cartons (1 kg) | ||
+ | 18 cartons (500 g) | ||
+ | 1 carton (1 kg) | ||
+ | 10 cartons (500 g) | ||
+ | 10 boîtes x 12 pièces | ||
+ | 24 cartons x 4 pièces | ||
+ | </pre></b> | ||
<br> <br> | <br> <br> | ||
Ligne 65 : | Ligne 87 : | ||
*<b>INITCAP(chaîne) = chaîne</b> :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. | *<b>INITCAP(chaîne) = chaîne</b> :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. | ||
<br> | <br> | ||
+ | |||
===Concatenation=== | ===Concatenation=== | ||
*<b>CONCAT(chaîne1,chaîne2) = chaîne1+chaîne2</b> :concaténation de 2 chaînes. | *<b>CONCAT(chaîne1,chaîne2) = chaîne1+chaîne2</b> :concaténation de 2 chaînes. | ||
Ligne 74 : | Ligne 97 : | ||
</pre> | </pre> | ||
</b> | </b> | ||
- | + | <br> | |
- | === | + | ===Modification de la longueur=== |
*<b>LPAD(chaîne1,long[,chaîne2]) = chaîne</b>:complète ou tronque à gauche (left) a la longueur <b>long</b> de chaîne1. | *<b>LPAD(chaîne1,long[,chaîne2]) = chaîne</b>:complète ou tronque à gauche (left) a la longueur <b>long</b> de chaîne1. | ||
<b>chaîne1</b>:chaîne a traiter<br> | <b>chaîne1</b>:chaîne a traiter<br> | ||
<b>long</b>: longueur de la chaîne après le traitement<br> | <b>long</b>: longueur de la chaîne après le traitement<br> | ||
<b>chaîne2</b>: motif du remplissage.<br> | <b>chaîne2</b>: motif du remplissage.<br> | ||
- | La fonction | + | La fonction LPAD redimensionne la chaîne1 à la longueur <b>long</b> soit en tronquant chaîne1 soit en y ajoutant chaîne2 autant de fois que nécessaire. |
- | <br> | + | <br><br> |
*<b>RPAD(chaîne1,long[,chaîne2]) = chaîne</b>:complète ou tronque à droite (right) a la longueur <b>long</b> de chaîne1. | *<b>RPAD(chaîne1,long[,chaîne2]) = chaîne</b>:complète ou tronque à droite (right) a la longueur <b>long</b> de chaîne1. | ||
<b>chaîne1</b>:chaîne a traiter<br> | <b>chaîne1</b>:chaîne a traiter<br> | ||
<b>long</b>: longueur de la chaîne après le traitement<br> | <b>long</b>: longueur de la chaîne après le traitement<br> | ||
<b>chaîne2</b>: motif du remplissage.Si non indiqué l'espace est utilisé.<br> | <b>chaîne2</b>: motif du remplissage.Si non indiqué l'espace est utilisé.<br> | ||
- | La fonction | + | La fonction LPAD redimensionne la chaîne1 à la longueur <b>long</b> soit en tronquant chaîne1 soit en y ajoutant chaîne2 autant de fois que nécessaire. |
Sommaire |
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.
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).
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:
effectue des recherches dans des chaînes de caractères.
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(chaîne, chaîne_rationnelle [, parametre]):recherche d'une expression rationnelle (en anglais regular expression) dans une chaîne
Rappel succinct:
Exemple:
select QUANTITE from PRODUITS where regexp_like (QUANTITE, '(carton|pièce|bouteille)','i'); QUANTITE ------------------------------ 24 bouteilles (1 litre) 12 bouteilles (550 ml) 12 cartons (1 kg) 18 cartons (500 g) 1 carton (1 kg) 10 cartons (500 g) 10 boîtes x 12 pièces 24 cartons x 4 pièces
Exemple:
Select concat(concat(NOM, ' '), PRENOM), NOM||' '||PRENOM from EMPLOYES;
chaîne1:chaîne a traiter
long: longueur de la chaîne après le traitement
chaîne2: motif du remplissage.
La fonction LPAD redimensionne la chaîne1 à la longueur long soit en tronquant chaîne1 soit en y ajoutant chaîne2 autant de fois que nécessaire.
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 LPAD redimensionne la chaîne1 à la longueur long soit en tronquant chaîne1 soit en y ajoutant chaîne2 autant de fois que nécessaire.