sql >> Databáze >  >> RDS >> Sqlserver

Jak převést celé číslo na desítkové v SQL Server

Problém:

Chcete převést celočíselnou hodnotu na datový typ DECIMAL na serveru SQL Server.

Převedeme celé číslo na datový typ DECIMAL.

Řešení 1:

Použijeme CAST() funkce. Zde je dotaz, který byste napsali:

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

Zde je výsledek:

desetinná_hodnota
12:00

Diskuse:

Použijte CAST() funkce pro převod celého čísla na datový typ DECIMAL. Tato funkce bere jako argument výraz nebo název sloupce, za nímž následuje klíčové slovo AS a nový datový typ. V našem příkladu jsme převedli celé číslo (12) na desítkovou hodnotu (12,00). Zobrazená hodnota má dvě desetinná místa, protože DECIMAL v CAST() má dvě desetinná místa.

SQL Server nabízí další možnost:CONVERT() . Toto není standardní funkce SQL jako CAST() . Dotaz níže ukazuje jeho použití.

Řešení 2:

Zde je další způsob, jak převést celé číslo na typ DECIMAL:

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

Tento dotaz poskytuje stejný výsledek jako CAST() , ale převádí dva povinné argumenty:datový typ a výraz, hodnotu nebo název sloupce. Volitelný třetí parametr určuje, jak má být hodnota formátována v novém typu. Přečtěte si více o formátování hodnot v oficiální dokumentaci k SQL Serveru.

Pokud nepotřebujete vracet hodnotu v určitém formátu, použijte CAST() .


  1. Jak se liší PostgreSQL od MySQL?

  2. Neočekávaný typ proměnné vrácený Receive-Job

  3. CAST() vs TRY_CAST() v SQL Server:Jaký je rozdíl?

  4. SQLskills Wait Types Library nyní zobrazuje data SentryOne