💻
M105 - Datenbanken mit SQL bearbeiten
  • Intro
  • 🗓️Organisatorisches
  • 🛠️Infrastruktur und Tools
  • ❓FAQ
  • Tag 1
    • 🏁Tagesziele
    • 📖💡 Datenbanklehre
    • 📖💡 DDL – Data Definition Language
    • 📖💡 DDL - Constraints
    • 💬Northwind Sample Database
    • 📖DML - Datenmanipulation
    • ❓Hilfsmittel
      • ❓Datentypen
  • Tag 2
    • 🏁Tagesziele
    • 💡DML - Aufgaben
      • ❓Hilfsmittel
    • 📖Transaktionssteuerung
      • 💡Transaktionen - Aufgaben (optional)
    • 📖DQL - Select-Anweisungen
    • 💡DQL - Aufgaben
    • 📖DQL - Join
  • Tag 3
    • 🏁Tagesziele
    • 📖DQL - Komplexere Abfragen
    • 💡DQL - Aufgaben
    • 📖 Views
    • 💡Views - Aufgaben
  • Tag 4
    • 🏁Tagesziele
    • 📖💡 DCL - Data Control Language
    • 📖💡 Funktionen
    • 📖Datenbanksicherung
    • 💡SQL Projektarbeit
      • ❓Hilfsmittel
  • Tag 5
    • 🏁Tagesziele
    • 📖💡 Datenbank-Programmierung
      • 💡Programmierung - Aufgaben (optional)
    • 📖💡 Befehlszeilenanwendung
Powered by GitBook
On this page
  • Vordefinierte SQL-Funktionen
  • Zeichenfolgenfunktionen
  • Mathematische Funktionen
  • Datums- und Uhrzeitfunktionen
  • Konvertierungsfunktionen
  • Systemfunktionen
  • Zulässige Datentypkonvertierungen bei SQL Server
  • 💡 Gruppenarbeit

Was this helpful?

Export as PDF
  1. Tag 4

📖💡 Funktionen

Vordefinierte SQL-Funktionen

SQL Server stellt eine riesige Menge vordefinierter (integrierter) Funktionen zur Verfügung. Eine integrierte SQL Server-Funktion ist entweder deterministisch oder nicht deterministisch.

  • Funktionen sind deterministisch, wenn sie bei jedem Aufrufen mit bestimmten Eingabewerten immer das gleiche Ergebnis zurückgeben.

  • Funktionen sind nicht deterministisch, wenn sie bei jedem Aufrufen selbst mit denselben bestimmten Eingabewerten verschiedene Ergebnisse zurückliefern können.

WICHTIG: Vordefinierte Funktionen wirken sich bei deren Ausführung nur auf die Anzeige aus, nicht jedoch auf die in der Datenbank gespeicherten Daten. Diese werden in keiner Weise verändert!

Bei den hier behandelten Funktionen handelt es sich um sogenannte Single-Row-Funktionen (Skalar-Funktionen). Diese liefern aus einem Ausdruck einer Zeile einen Wert zurück. Im Gegensatz dazu fassen Multiple-Row-Funktionen (auch als Aggregatfunktionen bekannt) mehrere Werte aus unterschiedlichen Datensätzen zu einem Wert zusammen. Single-Row- bzw. Skalar-Funktionen werden für jede Zeile einmal separat ausgeführt und können sowohl in der SELECT- als auch in der WHERE-Klausel verwendet werden. Single- Row-Funktionen können keine, eine oder mehrere Übergabeparameter (auch Argumente genannt) besitzen. Auch hier gibt es Syntax-Unterschiede bei den Herstellern. Der gesamte Funktionsumfang ist jedoch sehr ähnlich. Funktionen lassen sich in verschiedene Typen einteilen. Oft verwendete Typen sind:

  • Zeichenfolgenfunktionen

  • Mathematische Funktionen

  • Datums- und Uhrzeitfunktionen

  • Konvertierungsfunktionen

  • Systemfunktionen

Zeichenfolgenfunktionen

Zeichenfolgenfunktionen führen Operationen für den Eingabewert einer Zeichenfolge (vom Typ char oder varchar) aus und geben eine Zeichenfolge oder einen numerischen Wert zurück. Werden Argumente übergeben, die keine Zeichenfolgewerte sind, wird der Eingabetyp implizit in einen Textdatentyp konvertiert.

SQL Server

ORACLE

CHAR()

LOWER(), UPPER()

LEFT(), RIGHT()

CONCAT()

LEN()

SUBSTR()

LOWER(), UPPER()

LENGTH()

LTRIM(), RTRIM()

INSTR()

REPLICATE()

TRIM()

STR()

SUBSTRING()

CHARINDEX()

Mathematische Funktionen

Mathematische Funktionen führen Berechnungen basierend auf Eingabewerten aus, die als Parameter für die Funktionen bereitgestellt werden und geben einen numerischen Wert zurück.

SQL Server

ORACLE

ROUND()

ROUND()

FLOOR()

FLOOR()

ABS()

ABS()

RAND()

EXP()

EXP()

PI()

POWER()

POWER()

SIN()

SIN()

COS()

SQUARE()

SQRT()

SQRT()

TAN()

LOG()

LOG()

MOD()

TRUNC()

IGN()

LN()

Datums- und Uhrzeitfunktionen

Datums- und Uhrzeitfunktionen führen Operationen für Datums- und Zeiteingabewerte aus und geben eine Zeichenfolge, eine Zahlen-, Datums- oder Zeitwert zurück.

SQL Server

ORACLE

DATEADD()

SYSDATE

DATEDIFF()

MONTHS_BETWEEN

DATENAME()

TO_CHAR

DAY(), MONTH(), YEAR()

TO_NUMBER

GETDATE()

ADD_MONTHS

GETUTCDATE()

LAST_DAY

SYSDATETIME()

ROUND

TRUNC

Konvertierungsfunktionen

Mittels einer Konvertierungs-Funktion kann beispielsweise ein Datumsformat explizit umgewandelt werden. Die Formatangabe wird von jeder Sprachversion und Spracheinstellung gleich interpretiert. Während die Konvertierungs-Funktion für Datumswerte bei SQL Server standardmässig CONVERT darstellt, verwendet ORACLE die Funktion TO_DATE.

SQL Server

ORACLE

Funktion

CONVERT

TO_DATE

Format

Deutsch: tt.mm.jj -> 4

USA: mm/dd/jj -> 1

Für die vierstellige Jahresangabe 100 addieren (deutsch -> 104)

Format ist frei definierbar

Beispiel

CONVERT(date, '24.12.2004', 4)

CAST('20051224', AS date)

TO_DATE('24.12.2005', 'DD.MM.YY')

Bei SQL Server existiert alternativ die Funktion CAST. Diese wird vor allem für die Konvertierung zwischen dezimalen und numerischen Werten verwendet und wird in der Regel der SQL Server-spezifischen Funktion CONVERT vorgezogen. CONVERT kommt bei Microsoft dagegen immer im Zusammenhang mit komplexeren Datums- und Uhrzeitkonvertierungen zum Einsatz. Bei ORACLE existieren neben TO_DATE() noch die Funktionen TO_CHAR() und TO_NUMBER().

Systemfunktionen

Systemfunktionen führen Operationen für den Eingabewert einer Zeichenfolge (vom Typ char oder varchar) aus und geben eine Zeichenfolge oder einen numerischen Wert zurück.

SQL Server

ORACLE

CURRENT_USER

HOST_NAME(), HOST_ID()

ISNULL()

NVL()

ISNUMERIC()

NEWID()

Zulässige Datentypkonvertierungen bei SQL Server

Implizite Konvertierungen sind Konvertierungen, die ohne Angabe der CAST- oder CONVERT- Funktion durchgeführt werden. Explizite Konvertierungen sind Konvertierungen, die die Angabe der CAST- oder CONVERT-Funktion erfordern. In der folgenden Abbildung werden alle expliziten und impliziten Datentypkonvertierungen aufgeführt, die für die vom SQL Server-System bereitgestellten Datentypen zulässig sind.

💡 Gruppenarbeit

Jede Gruppe bereitet einen kleinen Vortrag zu einem Funktionstyp vor und erarbeitet 4 Anwendungsbeispiele.

Anschliessend präsentiert jede Gruppe ihren Funktionstyp.

Previous📖💡 DCL - Data Control LanguageNextDatenbanksicherung

Last updated 3 years ago

Was this helpful?

Quelle: https://docs.microsoft.com/de-de/sql/t-sql/functions/cast-and-convert-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15