Maison  >  Article  >  base de données  >  19 fonctions intégrées Oracle couramment utilisées

19 fonctions intégrées Oracle couramment utilisées

Guanhui
Guanhuiavant
2020-05-12 09:43:555814parcourir

1. nvl(expression1, expression2)

Fonction de fonction : renvoie une valeur non nulle à partir de deux expressions

Cas d'utilisation : sélectionnez nvl(nom_père, nom_mère ) nom_parent de l'élève où student_id = '12345'

Remarque :

Si la valeur de expression1 n'est pas vide, la valeur de expression1 sera prise en premier

Si le la valeur de expression1 est vide et si la valeur de expression2 n'est pas vide, prenez la valeur de expression2

Si expression1 et expression2 sont toutes deux vides, le résultat est NULL

2; decode(field_name, value1, new_value1, value2 , new_value2, default_value)

Fonction fonction : similaire au bloc d'instructions if...else..., pour un certain champ, si sa valeur est valeur1, elle est convertie en newValue1, si la valeur est value2 , alors elle est convertie en newValue2. Dans les autres cas, la valeur par défaut

est affichée. Cas d'utilisation : select decode(id,'1','A'. ,'2','B',id) de A;

Remarque :

decode(field_name, value1, new_value1, value2, new_value2, default_value) où value1, newValue1, etc. peuvent être une expression

3. row_number (order by field_name )

Fonction : Trier l'ensemble de données en fonction d'un certain champ et générer un champ de numéro de séquence

Cas d'utilisation : sélectionnez row_number() over(order by name) no,id,name from a;

4 to_date(source_string, formater_string)

Fonction. : Convertir une chaîne en type de date

Cas d'utilisation : sélectionnez to_date(' 20190809','aaaaMMjj') à partir de dual ;

Remarque :

'aaaaMMjj','aaaammjj' ,'aaaa-MM-jj','aaaa-mm-jj' sont tous acceptables

5. to_char()

Fonction : convertir d'autres types en types de chaîne.

Cas d'utilisation 1 : sélectionnez to_char(sysdate, 'yyyymmdd' ) dans dual

Cas d'utilisation 2 : sélectionnez to_char(99, 'fm999.00') dans dual

Remarque :

Il existe de nombreux autres formats de date dans le cas d'utilisation 1, tels que aaaa, mm, jj, D, DD, DDD, etc.

fm, 9, 0 dans le cas d'utilisation 2 ont des significations différentes, comme indiqué dans le tableau ci-dessous

字符标志 含义
9 如果存在数字则显示数字,不存在则显示空格
0 如果存在数字则显示数字,不存在则显示0,即占位符
fm 删除因为9带来的空格

6 wm_concat

Fonction : convertir les lignes en colonnes, regrouper les résultats des requêtes multi-lignes en un certain. colonne d'une ligne

Cas d'utilisation : sélectionnez wm_concat (nom distinct) de l'étudiant

Remarque : les versions supérieures d'Oracle peuvent supprimer

listagg() dans group(order by field_name) over(partition by field_name)

Fonction de fonction : le même cas d'utilisation wm_concat

 : sélectionnez listagg(nom distinct) dans le groupe (ordre par nom desc) de l'étudiant

8. concat(expression1, expression2)

Fonction : fonction d'épissage de chaîne

Exemple d'utilisation : sélectionnez concat('left', ' Right') de dual

Remarque : vous pouvez également utiliser || pour épisser, sélectionnez 'a'|'b' dans dual

9.

Fonction : générer et renvoyer un identifiant globalement unique (valeur d'origine) composé de 16 octets Composition, 32 caractères

Cas d'utilisation : sélectionnez sys_guid() dans dual ;

Remarque : Souvent utilisé pour créer la clé primaire de la table

10 over(partition by field_name, order by field_name)

Fonction de fonction : La fonction over est une fonction analytique. fonction, et elle peut être utilisée avec la fonction d'agrégation pour simplifier le code

Cas d'utilisation :

select name, job, sal, deptno,
sum(sal) over(partition by deptno) sum_sal,     --统计某组中的总计值
avg(sal) over(partition by deptno) avg_sal,     --统计某组中的平均值
from emp;

Remarque : selon la méthode d'écriture précédente, des statistiques de groupe avancées sont générées pour générer un temporaire table et associez la table d'origine pour obtenir d'autres informations. Désormais, elle n'est plus nécessaire

Habituellement avec max(), min(), avg(), sum() À utiliser avec les fonctions d'agrégation

11. nlssort

Fonction : Fournir un tri spécial du chinois simplifié

Cas d'utilisation :

select * from student order by nlssort(name, 'nls_sort = schinese_pinyin_m') --拼音
select * from team order by nlssort(name, 'nls_sort = schinese_stroke_m')    --笔画
select * from team order by nlssort(name, 'nls_sort = schinese_radical_m')   --部首

tronc

Fonction : intercepter des dates ou des nombres et renvoyer les valeurs spécifiées selon les règles

Cas d'utilisation 1 : sélectionner trunc(sysdate, 'yyyy') à partir de dual

Cas d'utilisation 2 : select trunc(126.56, 0) from dual

Remarque :

Le cas d'utilisation 1 a d'autres règles qui représentent des significations différentes

规则 含义
mm 返回当月第一天
yy 返回当年第一天
dd 返回当前年月日
yyyy 返回当年第一天
d 返回当前星期的第一天
Le cas d'utilisation 2 a d'autres règles qui représentent différentes significations

13. Rank() over(partition by field_name order by field_name)

Fonction de fonction : laissez les résultats renvoyés générer une relation de classement basée sur la partition et le tri des champs

Cas d'utilisation:select Rank() over(partition by birthday order by score), s.* from student s;

Remarque : L'utilisation de dense_rank() est la même que celle de Rank(), le la différence est de savoir si le classement saute

14. substr(source, start [,length])

Fonction : chaîne d'interception

Cas d'utilisation : sélectionner substr('abcde', 2, 3) from dual

Remarque : l'index de chaîne Oracle commence à 1

replace(field_name, sub_str, replace_str)

Effet de fonction : Spécifiez Remplacer la chaîne par la chaîne spécifiée

Exemple d'utilisation : sélectionnez remplacer (nom, 'hello', 'world') de l'étudiant ;

Remarque : cela peut également être utilisé dans la partie définie de l'instruction de mise à jour

16 trim

Fonction : Supprimez les caractères vides aux extrémités gauche et droite

Exemple d'utilisation : sélectionnez trim(' dsf ') from dual;

Remarque : utilisez ltrim pour supprimer uniquement les caractères vides de gauche, utilisez rtrim pour supprimer uniquement les caractères vides de droite

17 . signe

Fonction : Récupère le signe du nombre n, Si supérieur à 0, renvoie 1, s'il est inférieur à 0, renvoie -1, s'il est égal à 0, renvoie 0

Exemple d'utilisation : sélectionnez sign(50),sign(-100),sign(0) from dual;

18 round(number[,decimal])Fonction de fonction : arrondir le nombre n en conservant les chiffres décimaux

Cas d'utilisation : sélectionner round(123.34),round( 123.51),round(123.56,1),round(123.34,-1) parmi dual ;

19. coalesce(expression1,expression2...)

function Fonction : Renvoie la première valeur de l'expression qui n'est pas vide, renvoie un. valeur nulle

Exemple d'utilisation : sélectionnez la valeur coalesce(null,3+5,4+6) à partir de dual ;

Tutoriel recommandé : "

Tutoriel Oracle

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer