©SQL :: Manager
HomeProgramm-InformationenTechnische DetailsKostenloser DownloadKaffee für den Autor
Netzwelt
SQL-FunktionMySQLMariaDB

Die CAST SQL-Funktion in MySQL und MariaDB - Konvertierung von Werten

CASTSyntax:CAST(Wert AS Typ)
Rückgabe-Wert:Abhängig von den verwendeten Datentypen
Funktions-Typ:Konvertierungs-Funktion
Funktions-Beschreibung

Die SQL-Funktion CAST() konvertiert Daten in andere Datentypen.


Der Daten-"Typ" in den konvertiert werden soll, kann folgenden Werte beinhalten:

BINARYOptional kann die Länge der Ausgabe angegeben werden.
CHAROptional kann die Länge der Zeichenkette und der Zeichensatz angegeben werden.
NCHARWie CHAR, konvertiert aber in den nationalen Zeichensatz. Optional kann die Länge der Zeichenkette angegeben werden.
VARCHARim Oracle-Modus, ab MariaDB Version 10.3. Steht in MySQL 8.0 nicht zur Verfügung.
DATE
DATETIMEOptional kann hier die Stellenzahl für die Ausgabe von Mikrosekunden angegeben werden. Der Maximal-Wert ist dabei 6.
TIME
DECIMALOptionale Angabe von Wertgröße und Dezimalstellen: DECIMAL(m[,d])
DOUBLE
FLOATSteht in MariaDB ab Version 10.4.5 zur Verfügung. In MySQL 8.0 vorhanden.
INTEGERGleich bedeutend mit SIGNED oder SIGNED INTEGER. Steht in MySQL 8.0 nicht zur Verfügung.
SIGNEDOder SIGNED INTEGER
UNSIGNEDOder UNSIGNED INTEGER


Ist der Wert von "Ausdruck" für die Konvertierung in einen numerischen Wert ungültig, wird 0 zurückgegegen.

Bei der Konvertierung von numerischen Werten aus Zeichenketten werden ungültige Zeichen abgeschnitten.

Ein vorangehendes ungültiges Zeichen führt zu Ausgabe von 0.

Wenn der Wert des Arguments NULL ist, gibt die Funktion NULL zurück.

SQL Beispiele für die CAST-Funktion

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

SELECT cast(100 as binary);
SELECT cast('Test' as binary);
SELECT cast('Test' as binary(2));
SELECT cast(100 as char);
SELECT cast(100 as char(2));
SELECT cast('Test' as integer);

SELECT cast(100 as double);
SELECT cast(100.11 as integer);
SELECT cast(100.11 as decimal);
SELECT cast(100.11 as decimal(10,4));
SELECT cast(-100.11 as unsigned);
SELECT cast('-100.11' as unsigned integer);
SELECT cast('-100.11' as signed);

SELECT cast('100.11Test' as decimal(10,4));
SELECT cast('x100.11Test' as decimal(10,4));
SELECT cast(' -100.11Test' as signed);
SELECT cast('x100.11Test' as signed);

SELECT cast('2023-01-01' as datetime);
SELECT cast('2023-01-01' as datetime(6));
SELECT cast('2023-01-01 14:30:00' as date);
SELECT cast('2023-01-01 14:30:00' as time);

SELECT CHARSET(cast('Test' as char)); 
SELECT CHARSET(cast('Test' as nchar));  /* To National Charset */
SELECT CHARSET(cast('Test' as char CHARACTER SET utf8mb4));

SELECT cast(null as char);

cast(100 as binary)
varchar(3) BINARY
100
cast('Test' as binary)
varchar(4) BINARY
Test
cast('Test' as binary(2))
varchar(2) BINARY
Te
cast(100 as char)
varchar(3) BINARY
100
cast(100 as char(2))
varchar(2) BINARY
10
cast('Test' as integer)
int(4)
0
cast(100 as double)
double(22)
100
cast(100.11 as integer)
int(7)
100
cast(100.11 as decimal)
decimal(11)
100
cast(100.11 as decimal(10,4))
decimal(12)
100.1100
cast(-100.11 as unsigned)
bigint(20)
0
cast('-100.11' as unsigned integer)
bigint(20)
18446744073709551516
cast('-100.11' as signed)
int(7)
-100
cast('100.11Test' as decimal(10,4))
decimal(12)
100.1100
cast('x100.11Test' as decimal(10,4))
decimal(12)
0.0000
cast(' -100.11Test' as signed)
bigint(12)
-100
cast('x100.11Test' as signed)
bigint(11)
0
cast('2023-01-01' as datetime)
datetime(19)
2023-01-01 00:00:00
cast('2023-01-01' as datetime(6))
datetime(26)
2023-01-01 00:00:00.000000
cast('2023-01-01 14:30:00' as date)
date(10)
2023-01-01
cast('2023-01-01 14:30:00' as time)
time(10)
14:30:00
CHARSET(cast('Test' as char))
varchar(64) BINARY
binary
CHARSET(cast('Test' as nchar))
varchar(64) BINARY
utf8
CHARSET(cast('Test' as char CHARACTER SET utf8mb4))
varchar(64) BINARY
utf8mb4
cast(null as char)
varchar(0) BINARY
NULL
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

Verwendung der CAST() Funktion in MySQL und MariaDB-Datenbanken

In MySQL und MariaDB kann die Funktion CAST() verwendet werden, um einen Wert von einem Datentyp in einen anderen zu konvertieren und ermöglicht, den Zieldatentyp für die Konvertierung explizit anzugeben. Die Funktion unterstützt dabei verschiedene Datentypen für die Konvertierung, darunter numerische Typen, Zeichenfolgen-Typen, Datums- und Uhrzeit-Typen und mehr. Zu den häufig verwendeten Datentypen für die Konvertierung gehören unter anderem INTEGER, DECIMAL, VARCHAR, DATE, TIME und DATETIME. Bei Verwendung der Funktion kann es zu Datenverlust oder unerwarteten Ergebnissen führen. Beispielsweise kann die Konvertierung einer Zeichenfolge in eine Ganzzahl zu einer Kürzung führen, wenn die Zeichenfolge nicht numerische Zeichen enthält.

Die Funktion kann eingesetzt werden, damit ein Wert in einem bestimmten Datentyp-Kontext korrekt interpretiert und verarbeitet wird, beispielsweise um Zeichenfolgen für mathematische Berechnungen in einen numerischen Datentyp konvertieren oder einen Datums- und Uhrzeitwert zu Vergleichs- oder Formatierungszwecken in ein bestimmtes Format konvertieren.

Gleitkommazahlen können in eine Ganzzahl umwandeln werden oder umgekehrt, um arithmetische Operationen oder Vergleiche mit unterschiedlichen numerischen Datentypen durchführen zu können.

Zeichenfolgen können in verschiedene Datentypen konvertiert werden, beispielsweise Ganzzahlen oder Datumsangaben, um numerische oder Datums- und Uhrzeit-Informationen aus einer Zeichenfolge zu extrahieren.

Es können Werte in kompatible Datentypen konvertiert werden, um so gewünschte Operationen oder Vergleiche durchführen. Nützlich ist die Funktion auch zum Formatieren von Ergebnissen einer Abfrage. So können beispielsweise numerische Werte mit Formatierungsoptionen wie Dezimalgenauigkeit oder führende Nullen dargestellt werden.
BIT_LENGTHBIT_ORBIT_XORCASTCEILCEILINGCHAR

Weitere MySQL und MariaDB SQL Konvertierungs-Funktionen

BINBIN(Ganze Zahl)
Mehr zur BIN-Funktion

CONVCONV(Wert, von Basis, zu Basis)
Mehr zur CONV-Funktion

CONVERTCONVERT(Ausdruck [, in Typ] [, oder Zeichensatz])
Mehr zur CONVERT-Funktion

HEXHEX(Ganze Zahl oder 'Zeichenkette')
Mehr zur HEX-Funktion

OCTOCT(Ganze Zahl)
Mehr zur OCT-Funktion

UNHEXUNHEX(Zeichenkette)
Mehr zur UNHEX-Funktion

Numerische FunktionenZeichenketten-FunktionenReguläre AusdrückeDatum und Zeit-Funktionen
Vergleichs-FunktionenVerschlüsselung & KomprimierungKonvertierungs-FunktionenNULL-Funktionen
Aggregat-FunktionenWindow-FunktionenJSON-FunktionenGeometrische Funktionen
Sequenz-FunktionenInformations-FunktionenDynamische Tabellen-SpaltenSonstige Funktionen
Weitere Informationen zur SQL-Funktion CAST: mysql.com und mariadb.com und w3schools.com
Aktualisiert: 24.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer