SQL Server Cast -funksjon

SQL Server Cast -funksjon

Enten du bare kommer i gang eller en erfaren utvikler, vil du møte typen konvertering. Type konvertering refererer til prosessen med å konvertere en verdi eller uttrykk fra en datatype til en annen kompatibel datatype.

I dette innlegget vil vi diskutere bruk av cast () -funksjonen i SQL Server for å konvertere en verdi eller uttrykk fra en type til en annen.

SQL Server Cast -funksjon

Følgende utdrag viser syntaks for støpt () -funksjonen.

Cast (uttrykk som data_type [(lengde)])

Funksjonen godtar følgende parametere:

  1. uttrykk - ethvert gyldig uttrykk.
  2. data_type - Angir måldatatypen.
  3. Lengde - En valgfri heltallverdi definert som lengden på måldatatypen (bare for støttede typer).

Funksjonen returnerer deretter uttrykket konvertert til måldata_type.

La oss bruke eksempler for å illustrere hvordan vi kan bruke støpefunksjonen.

Bruker støpefunksjonen for å konvertere streng til heltall

Følgende eksempel bruker støpefunksjonen for å konvertere inngangsstrengen til en heltallverdi.

PLUKKE UT
Cast ('100' som int) som output_value;

Den resulterende utgangen:

output_value |
------------+
100 |

Bruker støpefunksjonen for å konvertere desimal til int

Det andre eksemplet nedenfor bruker rollebesetningsfunksjonen for å konvertere en desimaltype til Int.

PLUKKE UT
Rollebesetning (3.14159 som int) som output_value;

Støpefunksjonen vil avrunde inngangsdesimalet til nærmeste heltallverdi, som vist:

output_value |
------------+
3 |

Bruker støpefunksjonen for å konvertere streng til DateTime

Vi kan også bruke støpefunksjonen til å konvertere en gitt inngangsstreng til en datetime -verdi. Et eksempel på illustrasjonen er vist nedenfor:

PLUKKE UT
Rollebesetning ('2022-10-10' som datetime) som output_value;

Resulterende utgang:

output_value |
-----------------------+
2022-10-10 00:00:00.000 |

Bruke støpefunksjonen på tabellkolonnen

Vi kan også bruke støpefunksjonen på en bestemt kolonne og konvertere radene fra den kolonnen til en annen datatype.

Anta for eksempel at vi har et bord:

Vi kan konvertere verdiene til størrelse_on_disk -kolonnen til heltall som vist:

PLUKKE UT
Server navn,
Cast (size_on_disk som int) som appx_size
FRA
innganger;

Det resulterende tabellen er som vist:

Som vi kan se, uttrykkes den resulterende utgangen som heltallverdier (avrundet).

Merk: Det er godt å huske på at det er forskjellige konverteringstyper.

  1. Implisitt konvertering - SQL Server Engine bruker automatisk konverteringsoperasjonen for å samsvare med den forespurte operasjonen best.
  2. Eksplisitt konvertering - manuelt utført av brukeren ved å ringe konverteringsfunksjoner som cast () og konvertere ().

Følgende diagram viser hvilke typer du kan konvertere, typen konvertering anvendt og mer.

Kilde: Microsoft

Nulling-in

Takk for at du leser denne opplæringen. Vi stoler på at du lærte noe nytt fra denne guiden.