Funkce MySQL CAST().
Funkce CAST se řídí jednoduchou syntaxí, jak je uvedeno níže:
OBSAZENÍ ( expr TAK JAKO typ [ pole ] ) ;Funkce přijímá výraz a cílový datový typ jako parametry. Poté převede hodnotu na zadaný cílový datový typ a vrátí výraz.
Funkce dokáže převést vstupní výraz na různé podporované datové typy, včetně BINARY, CHAR, DATE, DATETIME, DECIMAL, DOUBLE, FLOAT, NCHAR, UNSIGNED, SIGNED, REAL atd.
Příklad 1: Funkce MySQL CAST().
Podívejme se na některé příklady použití funkce cast v MySQL.
vybrat obsazení ( 100 tak jako char ) tak jako ven_;
Předchozí příklad používá funkci CAST() k převodu typu int na řetězec.
Výstup:
ven_ |----+
100 |
Příklad 2
K převodu hodnoty na typ data můžeme také použít funkci CAST(), jak ukazuje následující příklad:
vybrat obsazení ( '2022-10-10' tak jako datum ) tak jako ven_;Výsledná hodnota je uvedena níže:
ven_ |-----------+
2022 - 10 - 10 |
Je dobré mít na paměti, že hodnota musí mít správný formát a lze ji převést na zadaný typ. Například pokus o převod nesprávné hodnoty data na funkci přetypování vrátí hodnotu NULL.
Příklad je uveden níže:
vybrat obsazení ( '10-10-2022' tak jako datum ) tak jako ven_;V tomto případě předchozí formát následuje nesprávný formát data. MySQL vrátí chybu, jak je uvedeno níže:
Nesprávná hodnota data a času: '10-10-2022'V některých případech MySQL vrátí hodnotu NULL.
Příklad 3: Převeďte řetězec na Int
Můžeme také převést daný typ řetězce na int, jak ukazuje následující příklad:
vybrat obsazení ( '100' tak jako desetinný ) tak jako ven_;Výstup:
ven_ |----+
100 |
Příklad 4: Převeďte řetězec na plovoucí
vybrat obsazení ( '100,2' tak jako plovák ) tak jako ven_;Výstup:
ven_ |-----+
100,2 |
Příklad 5: Použití funkce CAST() ve sloupci tabulky
Se sloupcem tabulky můžeme také použít funkci CAST(). Předpokládejme například, že máme níže uvedenou tabulku:
K převodu hodnot sloupce install_version můžeme použít funkce CONCAT() a CAST(), jak je ukázáno v dotazu níže:
vybrat konkat ( název_serveru, '-' , obsazení ( nainstalovaná_verze tak jako char ) od stack_mapping sm;Výsledná tabulka:
konkat ( název_serveru, '-' , nainstalovaná_verze ) |--------------------------------------------+
SQL Server - 15,0 |
Elasticsearch - 8.4 |
Redis - 6.0 |
PostgreSQL - 14.5 |
MySQL - 8,0 |
Závěr
Tento kurz naučil základy práce s funkcí CAST() pro převod hodnoty z jednoho typu na jiný. Pro zvýraznění převodu String na Int a String na Float je uvedeno několik příkladů.