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