SELECT-Abfragen mit regulären Ausdrücken

Veröffentlicht: von

findet man hier: SELECT   REGEXP_SUBSTR (‚123 Maple Avenue‘, ‚[A-Za-z]+‘) Adress FROM DUAL; SELECT   REGEXP_SUBSTR (‚123 Maple Avenue‘, ‚[[:digit:]]+‘) Adress FROM DUAL; SELECT   REGEXP_SUBSTR (‚123 Maple Avenue‘, ‚[e]$‘) Adress FROM DUAL; SELECT   REGEXP_SUBSTR (‚(101)202-3300‘, ‚\([[:digit:]]{3}\)‘) telefonnummer  FROM DUAL; SELECT   REGEXP_SUBSTR (‚(101)202-3300‘, ‚\([[:digit:]]{3}\)[[:digit:]]{3}‘) telefonnummer  FROM DUAL; SELECT   REGEXP_SUBSTR (‚(101)202-3300‘, ‚\([[:digit:]]{3}\)[[:digit:]]{3}-[[:digit:]]{4}‘) telefonnummer  FROM DUAL; SELECT   Nachname, REGEXP_SUBSTR (Nachname,…

Besonderheiten bei den SINGLE ROW Funktionen

Veröffentlicht: von

Für mich ist das ein ziemlich ätzendes Kapitel , aber sei’s drum… DECODE, CASE, NVL  und NULLIF können als Fallunterscheidung im SELECT angewendet werden. NVL2 kann benutzet werden, um NULL-Werte und NOT NULL WErte zu unterscheiden (sieheNVL2 ) Die Funktion Coalesce gibt den ersten von NULL verschiedenen Wert aus einer Liste von Werten zurück. Sind…

Fallstricke, Kapitel 10, Teil 2

Veröffentlicht: von

Wann sind Views änderbar? Die zurückliegenden Constraints (z.B. not null) müssen erfüllt sein, d.h. z.B. alle not null Spalten in der View enthalten sein und auch der Primary Key. Das gilt nicht für die zugrunde liegenden Where-Klausel, d.h.Daten, die der Where-Klausel der view nicht entsprechen, sind zwar nach einem insert in die View nicht in…

Fallstricke Kapitel 12

Veröffentlicht: von

Zu den Mengenoperatoren UNION, UNION ALL , INTERSECT und MINUS findet sich einiges im Datenbank-Wiki. z.B. in UNION , UNION ALL und Vereinigungskonform. UNION ALL eliminiert keine doppelten Einträge und ist daher schneller als UNION. Alle Mengenoperatoren  UNION, UNION ALL , INTERSECT und MINUS haben die gleiche Priorität und werden daher nacheinander abgearbeitet. Ein SELECT…

Fallstricke Kapitel 5

Veröffentlicht: von

Hier habe ich wenig gefunden, stimmt ziemlich genau mit der DBS1-Vorlesung überein. Prioritätsreihenfolge Boolescher, logischer Operatoren: siehe Logischer Operator ORDER BY Name oder Spaltennummer (position) Verwendung IS NULL oder IS NOT NULL Sortierung von alphanumerischen Spalten: Alphabetisch… Sortierung von Datumsfeldern: in der Zeitachse

Besonderheiten bei Unterabfragen

Veröffentlicht: von

siehe auch: Unterabfrage in Unterabfrage, skalare Unterabfrage und last not least korrelierte Unterabfrage. Korrelierte Unterabfragen können nicht ohne äußere SELECT-Abfrage ausgeführt werden. Skalare Unterabfragen geben genau eine Zeile und einen Spalte zurück und können nicht in einem GROUP-BY-Ausdruck benutzt werden. Unterabfragen können auch zum Kopieren von Daten in einem CREATE TABLE verwendet werden, daneben auch…

Besonderheiten bei Aggregatfunktionen

Veröffentlicht: von

COUNT(Spalte) zählt die von NULL verschiedenen Werte in einer Spalte, COUNT(*) auch die Zeilen, die komplett NULL sind. Alle Gruppenfunktionen ignorieren NULL-Werte im Gegensatz zu den Operatoren +, – * und  /: 9 + NULL= NULL Aggregatfunktionen (Synonym: Gruppenfunktionen) können mit Single-Rowfunktionen geschachtelt werden. SELECT TRUNC(AVG(gehalt)) FROM angestellte, Tiefe der Schachtelung ist beliebig Zwei Gruppenfunktionen…

Besonderheiten beim einfachen SELECT

Veröffentlicht: von

Oracle hat die Pseudocolumns ROWNUM und ROWID, die immer vorhanden sind und auch abgefragt werden können. Anstelle von DISTINCT kann auch UNIQUE in einer Abfrage genutzt werden, also z.B. SELECT UNIQUE Nachname FROM angestellte; DISTINCT und können allerdings in einer SELECT-Abfrage nur einmal verwendet werden: SELECT DISTINCT Nachname, DISTINCT vorname  from angestellte; ist nicht zulässig. Die…