Funkce Cast serveru SQL

Funkce Cast Serveru Sql



„Ať teprve začínáte, nebo jste zkušený vývojář, setkáte se s převodem typů. Konverze typu se týká procesu převodu hodnoty nebo výrazu z jednoho datového typu na jiný kompatibilní datový typ.

V tomto příspěvku budeme diskutovat o použití funkce cast() na serveru SQL Server k převodu hodnoty nebo výrazu z jednoho typu na jiný.







Funkce Cast serveru SQL

Následující úryvek ukazuje syntaxi funkce cast().



OBSAZENÍ ( výraz TAK JAKO datový typ [ ( DÉLKA ) ] )

Funkce přijímá následující parametry:



  1. výraz – jakýkoli platný výraz.
  2. datový_typ – nastavuje cílový datový typ.
  3. délka – volitelná celočíselná hodnota definovaná jako délka cílového datového typu (pouze u podporovaných typů).

Funkce pak vrátí výraz převedený na cílový datový_typ.





Použijme příklady k ilustraci toho, jak můžeme použít funkci cast.

Použití funkce Cast k převodu řetězce na celé číslo

Následující příklad používá funkci cast k převodu vstupního řetězce na celočíselnou hodnotu.



VYBRAT
OBSAZENÍ ( '100' TAK JAKO INT ) TAK JAKO výstupní_hodnota;

Výsledný výstup:

výstupní_hodnota |
------------+
100 |

Použití funkce Cast k převodu desítkové soustavy na Int

Druhý příklad níže používá funkci cast k převodu desítkového typu na int.

VYBRAT
OBSAZENÍ ( 3,14159 TAK JAKO INT ) TAK JAKO výstupní_hodnota;

Funkce cast zaokrouhlí vstupní desetinné místo na nejbližší celé číslo, jak je znázorněno:

výstupní_hodnota |
------------+
3 |

Použití funkce Cast k převodu řetězce na datum a čas

Můžeme také použít funkci cast k převodu daného vstupního řetězce na hodnotu datetime. Příklad ilustrace je uveden níže:

VYBRAT
OBSAZENÍ ( '2022-10-10' TAK JAKO čas schůzky ) TAK JAKO výstupní_hodnota;

Výsledný výstup:

výstupní_hodnota |
------------------------+
2022 - 10 - 10 00:00: 00 000 |

Použití funkce Cast ve sloupci tabulky

Můžeme také použít funkci cast na konkrétní sloupec a převést řádky z tohoto sloupce na jiný datový typ.

Předpokládejme například, že máme tabulku:

Hodnoty sloupce size_on_disk můžeme převést na celá čísla, jak je znázorněno:

VYBRAT
název_serveru ,
OBSAZENÍ ( velikost_na_disku TAK JAKO INT ) TAK JAKO appx_size
Z
záznamy;

Výsledná tabulka vypadá takto:

Jak vidíme, výsledný výstup je vyjádřen jako celočíselné hodnoty (zaokrouhlené).

POZNÁMKA: Je dobré mít na paměti, že existují různé typy převodů.

  1. Implicitní převod – stroj SQL Server automaticky použije operaci převodu tak, aby co nejlépe odpovídala požadované operaci.
  2. Explicitní konverze – ručně provedená uživatelem voláním konverzních funkcí, jako je cast() a convert().

Následující graf ukazuje, jaké typy můžete převádět, jaký typ převodu byl použit a další.

Zdroj: Microsoft

Vynulování

Děkujeme, že jste si přečetli tento návod. Věříme, že jste se z tohoto průvodce naučili něco nového.