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() .