Heim  >  Artikel  >  Datenbank  >  19 häufig verwendete integrierte Oracle-Funktionen

19 häufig verwendete integrierte Oracle-Funktionen

Guanhui
Guanhuinach vorne
2020-05-12 09:43:556046Durchsuche

1. nvl(Ausdruck1, Ausdruck2)

Funktionsfunktion: Einen Nicht-Null-Wert aus zwei Ausdrücken zurückgeben

Anwendungsfall: Wählen Sie nvl(Vatername, Muttername ) parent_name von student where student_id = '12345'

Hinweis:

Wenn der Wert von expression1 nicht leer ist, wird zuerst der Wert von expression1 genommen

Wenn der Wert von Ausdruck1 ist leer und wenn der Wert von Ausdruck2 nicht leer ist, nehmen Sie den Wert von Ausdruck2

Wenn Ausdruck1 und Ausdruck2 beide leer sind, ist das Ergebnis NULL

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

Funktionsfunktion: ähnlich dem if...else...-Anweisungsblock, für ein bestimmtes Feld, wenn sein Wert Wert1 ist, er wird in newValue1 konvertiert, wenn der Wert value2 ist, dann wird er in newValue2 konvertiert. In anderen Fällen wird der Standardwert

angezeigt. Anwendungsfall: select decode(id,'1','A'. ,'2','B',id) von A;

Hinweis:

decode(field_name, value1, new_value1, value2, new_value2, default_value) where value1, newValue1, etc. can ein Ausdruck sein

3. Zeilennummer (Reihenfolge nach Feldname)

Funktion: Den Datensatz nach einem bestimmten Feld sortieren und ein Sequenznummernfeld generieren

Anwendungsfall: select row_number() over(order by name) no,id,name from a;

to_date(source_string, formater_string)

Funktion : Zeichenfolge in Datumstyp konvertieren

Anwendungsfall: select to_date(' 20190809','yyyyMMdd') from dual;

Hinweis:

'yyyyMMdd','yyyymmdd' ,'yyyy-MM-dd','yyyy-mm-dd' sind alle akzeptabel

5. to_char()

Funktion: Konvertieren Sie andere Typen in String-Typen

Anwendungsfall 1: Wählen Sie to_char(sysdate, 'yyyymmdd' ) aus Dual

Anwendungsfall 2: Wählen Sie to_char(99, 'fm999.00') aus Dual

Hinweis:

Es gibt viele andere Datumsformate in Anwendungsfall 1, wie z. B. JJJJ, MM, TT, D, TT, TT usw.

FM, 9, 0 in Anwendungsfall 2 haben unterschiedliche Bedeutungen, wie in der folgenden Tabelle gezeigt

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

6 . wm_concat

Funktion: Zeilen in Spalten umwandeln, mehrzeilige Abfrageergebnisse zu einem bestimmten zusammenfassen Spalte einer Zeile

Anwendungsfall: wm_concat(eindeutiger Name) vom Schüler auswählen

Hinweis: Höhere Versionen von Oracle entfernen möglicherweise

7 listagg() innerhalb Gruppe (Reihenfolge nach Feldname) über (Partition nach Feldname)

Funktionsfunktion: das gleiche wm_concat

Anwendungsfall: listagg (eindeutiger Name) innerhalb der Gruppe auswählen (Reihenfolge nach Name absteigend) vom Schüler

8. concat(expression1, expression2)

Funktion: String-Splicing-Funktion

Verwenden Sie Beispiel: select concat('left', ' Right') von dual

Hinweis: Sie können auch || zum Spleißen verwenden, wählen Sie 'a'||'b' von dual

9

Funktion: Generieren und zurückgeben eines global eindeutigen Bezeichners (Originalwert), bestehend aus 16 Bytes Zusammensetzung, 32 Zeichen

Anwendungsfall: Wählen Sie sys_guid() aus dual;

Hinweis : Wird oft verwendet, um den Primärschlüssel der Tabelle zu erstellen

10. over(partition by field_name, order by field_name)

Funktionsfunktion: Die over-Funktion ist eine analytische Funktion Funktion und kann zusammen mit der Aggregatfunktion verwendet werden, um den Code zu vereinfachen

Anwendungsfall:

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

Hinweis: Gemäß der vorherigen Schreibmethode werden erweiterte Gruppenstatistiken generiert, um eine temporäre zu generieren Tabelle und verknüpfen Sie die Originaltabelle, um andere Informationen zu erhalten.

Normalerweise mit max(), min(), avg(), sum() Zusammen mit Aggregatfunktionen verwenden

11. nlssort

Funktion: Spezielle Sortierung von vereinfachtem Chinesisch

Anwendungsfall:

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')   --部首

Die Funktion von trunc

besteht darin, das Datum oder die Zahl abzufangen und den angegebenen Wert gemäß den Regeln zurückzugeben

Anwendungsfall 1: Wählen Sie trunc(sysdate, 'yyyy') aus dual aus

Anwendungsfall 2: Wählen Sie trunc(126.56, 0) aus dual aus

Hinweis:

Anwendungsfall 1 hat andere Regeln, die unterschiedliche Bedeutungen darstellen

规则 含义
mm 返回当月第一天
yy 返回当年第一天
dd 返回当前年月日
yyyy 返回当年第一天
d 返回当前星期的第一天
Anwendungsfall 2 hat andere Regeln, die unterschiedliche Bedeutungen haben

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

Funktionsfunktion: Lassen Sie die zurückgegebenen Ergebnisse eine Rangfolgebeziehung basierend auf den Partitions- und Sortierfeldern generieren

Anwendungsfall:select rank() over(partition by birthday order by score), s.* from student s;

Hinweis: Die Verwendung von dicht_rank() ist die gleiche wie rank(), d. h Der Unterschied besteht darin, ob die Rangfolge springt

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

Funktion: Zeichenfolge abfangen

Anwendungsfall: auswählen substr('abcde', 2, 3) von dual

Hinweis: Der Oracle-String-Index beginnt bei 1

15. replace(field_name, sub_str, replacement_str)

Funktionseffekt: Angeben Ersetzen Sie die Zeichenfolge durch die angegebene Zeichenfolge

Beispiel verwenden: select replace(name, 'hello', 'world') from student;

Hinweis: Das ist möglich kann auch im Set-Teil der Update-Anweisung verwendet werden

16. trim

Funktion: Entfernen Sie die Leerzeichen am linken und rechten Ende

Beispiel verwenden: select trim(' dsf ') from dual;

Hinweis: Verwenden Sie ltrim, um nur die linken Leerzeichen zu entfernen, und rtrim, um nur die rechten Leerzeichen zu entfernen

17 . sign

Funktion: Ermitteln Sie das Vorzeichen der Zahl n. Wenn größer als 0, geben Sie 1 zurück, wenn kleiner als 0, geben Sie -1 zurück, wenn gleich 0, geben Sie 0 zurück

Verwenden Sie Beispiel: Wählen Sie sign(50),sign(-100),sign(0) aus dual;

18(number[,decimal])

Funktionsfunktion: Runden Sie die Zahl n unter Beibehaltung der Dezimalstellen

Anwendungsfall: Wählen Sie „round(123.34),round( 123.51),round(123.56,1),round(123.34,-1) aus dual;

19. merge(expression1,expression2...)

Funktion: Gibt den ersten Wert im Ausdruck zurück, der nicht leer ist, gib a zurück Nullwert

Beispiel verwenden: „coalesce(null,3+5,4+6) value from dual;

Empfohlenes Tutorial: „

Oracle Tutorial

Das obige ist der detaillierte Inhalt von19 häufig verwendete integrierte Oracle-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen