Проблем:
Искате да преобразувате целочислена стойност в тип данни DECIMAL в SQL Server.
Нека преобразуваме цяло число в тип данни DECIMAL.
Решение 1:
Ще използваме CAST() функция. Ето заявката, която бихте написали:
SELECT CAST(12 AS DECIMAL(7,2) ) AS decimal_value ;
Ето резултата:
| десетична_стойност |
|---|
| 12.00 |
Дискусия:
Използвайте CAST() функция за преобразуване на цяло число в тип данни DECIMAL. Тази функция приема израз или име на колона като аргумент, последвано от ключовата дума AS и новия тип данни. В нашия пример преобразувахме цяло число (12) в десетична стойност (12,00). Показаната стойност има две десетични точки, защото DECIMAL в CAST() има две десетични знака.
SQL Server предоставя друга опция:CONVERT() . Това не е стандартна SQL функция като CAST() . Заявката по-долу показва използването му.
Решение 2:
Ето още един начин за преобразуване на цяло число в тип DECIMAL:
SELECT CONVERT(DECIMAL(7,2),12 ) AS decimal_value ;
Тази заявка дава същия резултат като CAST() , но приема два задължителни аргумента:типа данни и израз, стойност или име на колона за преобразуване. Незадължителен трети параметър указва как стойността трябва да бъде форматирана в новия си тип. Прочетете повече за форматирането на стойността в официалната документация на SQL Server.
Ако не е необходимо да връщате стойността в определен формат, използвайте CAST() .