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 erstellen10. 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 vereinfachenAnwendungsfall:select name, job, sal, deptno, sum(sal) over(partition by deptno) sum_sal, --统计某组中的总计值 avg(sal) over(partition by deptno) avg_sal, --统计某组中的平均值 from emp;
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 ausHinweis: Anwendungsfall 1 hat andere Regeln, die unterschiedliche Bedeutungen darstellen规则 | 含义 |
---|---|
mm | 返回当月第一天 |
yy | 返回当年第一天 |
dd | 返回当前年月日 |
yyyy | 返回当年第一天 |
d | 返回当前星期的第一天 |
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 NullwertBeispiel 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!