Проблем:
Искате да преобразувате целочислена стойност в тип данни 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()
.