Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да конвертирате цяло число в десетично в SQL Server

Проблем:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайте TYPE_NAME(), за да получите името на тип данни в SQL Server

  2. Intel Xeon Scalable Processors и SQL Server 2017

  3. Как да коригирате „Процедурата очаква параметър „@statement“ от тип „ntext/nchar/nvarchar“.“ Грешка в SQL Server

  4. Вземете краткото име в SQL Server (T-SQL)

  5. Как да изпълните SQL заявка без показване на резултати