SQL Server Cast-functie

Sql Server Cast Functie



“Of je nu net begint of een ervaren ontwikkelaar bent, je krijgt te maken met typeconversie. Typeconversie verwijst naar het proces van het converteren van een waarde of uitdrukking van het ene gegevenstype naar een ander compatibel gegevenstype.

In dit bericht bespreken we het gebruik van de functie cast() in SQL Server om een ​​waarde of uitdrukking van het ene type naar het andere te converteren.”







SQL Server Cast-functie

Het volgende fragment toont de syntaxis van de functie cast().



VORM ( uitdrukking NET ZO data type [ ( LENGTE ) ] )

De functie accepteert de volgende parameters:



  1. uitdrukking – elke geldige uitdrukking.
  2. data_type - stelt het doelgegevenstype in.
  3. lengte – een optionele integerwaarde die is gedefinieerd als de lengte van het doelgegevenstype (alleen voor ondersteunde typen).

De functie retourneert vervolgens de uitdrukking die is geconverteerd naar het doel data_type.





Laten we voorbeelden gebruiken om te illustreren hoe we de cast-functie kunnen gebruiken.

De Cast-functie gebruiken om String naar Integer te converteren

In het volgende voorbeeld wordt de cast-functie gebruikt om de invoertekenreeks om te zetten in een geheel getal.



SELECTEER
VORM ( '100' NET ZO INT ) NET ZO output_waarde;

De resulterende opbrengst:

output_waarde |
------------+
100 |

De Cast-functie gebruiken om decimaal naar Int te converteren

Het tweede voorbeeld hieronder gebruikt de cast-functie om een ​​decimaal type om te zetten in int.

SELECTEER
VORM ( 3.14159 NET ZO INT ) NET ZO output_waarde;

De cast-functie rondt het invoerdecimaal af op de dichtstbijzijnde gehele waarde, zoals weergegeven:

output_waarde |
------------+
3 |

De Cast-functie gebruiken om String naar Datetime te converteren

We kunnen ook de cast-functie gebruiken om een ​​gegeven invoertekenreeks om te zetten in een datum/tijd-waarde. Een voorbeeldillustratie wordt hieronder getoond:

SELECTEER
VORM ( '2022-10-10' NET ZO datum Tijd ) NET ZO output_waarde;

resulterende uitvoer:

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

De Cast-functie gebruiken op de tabelkolom

We kunnen de cast-functie ook toepassen op een specifieke kolom en de rijen van die kolom converteren naar een ander gegevenstype.

Stel dat we een tabel hebben:

We kunnen de waarden van de kolom size_on_disk converteren naar gehele getallen zoals weergegeven:

SELECTEER
server naam ,
VORM ( grootte op schijf NET ZO INT ) NET ZO appx_grootte
VAN
inzendingen;

De resulterende tabel is zoals weergegeven:

Zoals we kunnen zien, wordt de resulterende uitvoer uitgedrukt als gehele waarden (afgerond).

LET OP: Het is goed om in gedachten te houden dat er verschillende conversietypes zijn.

  1. Impliciete conversie: de SQL Server-engine past de conversiebewerking automatisch toe om zo goed mogelijk overeen te komen met de gevraagde bewerking.
  2. Expliciete conversie – handmatig uitgevoerd door de gebruiker door conversiefuncties zoals cast() en convert() aan te roepen.

Het volgende diagram laat zien welke typen u kunt converteren, het toegepaste type conversie en meer.

Bron: Microsoft

Op nul zetten

Bedankt voor het lezen van deze zelfstudie. We vertrouwen erop dat je iets nieuws uit deze gids hebt geleerd.