sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan konverteres et heltal til en decimal i SQL Server

Problem:

Du vil gerne konvertere en heltalsværdi til en DECIMAL datatype i SQL Server.

Lad os konvertere et heltal til datatypen DECIMAL.

Løsning 1:

Vi bruger CAST() fungere. Her er den forespørgsel, du ville skrive:

SELECT 
  CAST(12 AS DECIMAL(7,2) ) AS decimal_value
;

Her er resultatet:

decimal_værdi
12.00

Diskussion:

Brug CAST() funktion til at konvertere et heltal til en DECIMAL datatype. Denne funktion tager et udtryk eller et kolonnenavn som argument, efterfulgt af nøgleordet AS og den nye datatype. I vores eksempel konverterede vi et heltal (12) til en decimalværdi (12,00). Den viste værdi har to decimaler, fordi DECIMAL i CAST() har to decimaler.

SQL Server giver en anden mulighed:CONVERT() . Dette er ikke en SQL Standard-funktion som CAST() . Forespørgslen nedenfor viser dens brug.

Løsning 2:

Her er en anden måde at konvertere et heltal til en DECIMAL-type:

SELECT 
  CONVERT(DECIMAL(7,2),12 ) AS decimal_value
;

Denne forespørgsel producerer det samme resultat som CAST() , men kræver to obligatoriske argumenter:datatypen og et udtryk, værdi eller kolonnenavn for at konvertere. En valgfri tredje parameter angiver, hvordan værdien skal formateres i dens nye type. Læs mere om værdiformatering i den officielle SQL Server-dokumentation.

Hvis du ikke behøver at returnere værdien i et bestemt format, skal du bruge CAST() .


  1. Udforsker Storage Engine-indstillinger for MariaDB

  2. Hvordan kontrollerer man, om radioknappen er markeret eller valgt i jQuery?

  3. DATEADD-ækvivalent i PostgreSQL

  4. Kombinerer styrken af ​​SQL og proceduremæssige erklæringer med MariaDBs Oracle-kompatibilitetstilstand