'Enten du akkurat er i gang eller er en erfaren utvikler, vil du møte typekonvertering. Typekonvertering refererer til prosessen med å konvertere en verdi eller et uttrykk fra én datatype til en annen kompatibel datatype.
I dette innlegget vil vi diskutere bruk av cast()-funksjonen i SQL Server for å konvertere en verdi eller et uttrykk fra en type til en annen.'
SQL Server Cast-funksjon
Følgende utdrag viser syntaksen til cast()-funksjonen.
CAST ( uttrykk SOM data-type [ ( LENGDE ) ] )
Funksjonen godtar følgende parametere:
- uttrykk – ethvert gyldig uttrykk.
- data_type – setter måldatatypen.
- lengde – en valgfri heltallsverdi definert som lengden på måldatatypen (bare for støttede typer).
Funksjonen returnerer deretter uttrykket konvertert til måldatatype.
La oss bruke eksempler for å illustrere hvordan vi kan bruke cast-funksjonen.
Bruke Cast-funksjonen til å konvertere streng til heltall
Følgende eksempel bruker cast-funksjonen til å konvertere inndatastrengen til en heltallsverdi.
Å VELGE
CAST ( '100' SOM INT ) SOM output_value;
Den resulterende utgangen:
output_value |------------+
100 |
Bruke Cast-funksjonen til å konvertere desimal til Int
Det andre eksemplet nedenfor bruker cast-funksjonen til å konvertere en desimaltype til int.
Å VELGECAST ( 3,14159 SOM INT ) SOM output_value;
Cast-funksjonen vil runde av inngangsdesimalen til nærmeste heltallsverdi, som vist:
output_value |------------+
3 |
Bruke Cast-funksjonen til å konvertere streng til Datetime
Vi kan også bruke cast-funksjonen til å konvertere en gitt inndatastreng til en datetime-verdi. En eksempelillustrasjon er vist nedenfor:
Å VELGECAST ( '2022-10-10' SOM dato tid ) SOM output_value;
Resulterende utgang:
output_value |------------------------------+
2022 - 10 - 10 00:00: 00 000 |
Bruke Cast-funksjonen på bordkolonnen
Vi kan også bruke cast-funksjonen til en bestemt kolonne og konvertere radene fra den kolonnen til en annen datatype.
Anta for eksempel at vi har en tabell:
Vi kan konvertere verdiene til størrelse_på_disk-kolonnen til heltall som vist:
Å VELGEServer navn ,
CAST ( størrelse_på_disk SOM INT ) SOM appx_størrelse
FRA
innganger;
Den resulterende tabellen er som vist:
Som vi kan se, er den resulterende utgangen uttrykt som heltallsverdier (avrundet).
MERK: Det er greit å huske på at det finnes ulike konverteringstyper.
- Implisitt konvertering – SQL Server-motoren bruker automatisk konverteringsoperasjonen for best å matche den forespurte operasjonen.
- Eksplisitt konvertering – manuelt utført av brukeren ved å kalle konverteringsfunksjoner som cast() og convert().
Følgende diagram viser hvilke typer du kan konvertere, hvilken type konvertering som er brukt og mer.
Kilde: Microsoft
Nullstilling
Takk for at du leste denne veiledningen. Vi stoler på at du har lært noe nytt fra denne veiledningen.