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

3 начина за преобразуване на цяло число в десетично число в SQL Server

Ето три опции за преобразуване на цяло число в десетична стойност в SQL Server с помощта на T-SQL.

CAST() Функция

CAST() функция преобразува израз от един тип данни в друг:

SELECT CAST(275 AS DECIMAL(5, 2));

Резултат:

275.00

В този пример преобразувахме цяло число (275 ) до десетична стойност с точност от 5 и с 2 десетичните знаци.

Десетичното и числото са синоними и могат да се използват взаимозаменяемо. Следователно можем да коригираме нашия пример, както следва, за да постигнем същия резултат:

SELECT CAST(275 AS NUMERIC(5, 2));

Резултат:

275.00

Важно е да запомните да коригирате прецизността според изискванията:

SELECT CAST(18301275 AS DECIMAL(10, 2));

Резултат:

18301275.00

Ако аргументът за точност не е достатъчно голям, възниква грешка:

SELECT CAST(18301275 AS DECIMAL(9, 2));

Резултат:

Msg 8115, Level 16, State 8, Line 1
Arithmetic overflow error converting int to data type numeric.

CONVERT() Функция

CONVERT() функцията прави същото като CAST() , освен с малко по-различен синтаксис:

SELECT CONVERT(DECIMAL(5, 2), 275);

Резултат:

275.00

Използвайте аритметичен оператор

Друга възможност е да използвате аритметичен оператор, като например оператор за умножение:

SELECT 275 * 1.00;

Резултат:

275.00

В този пример ние умножаваме цялото число по 1.00 .

В SQL Server, когато оператор комбинира изрази от различни типове данни, типът данни с по-нисък приоритет първо се преобразува в типа данни с по-висок приоритет. След това операцията връща типа данни на аргумента с по-висок приоритет.

В SQL Server десетичният знак има по-висок приоритет пред цяло число.

Като го умножим по 1,00, ние не променяме цялата част. Просто го преобразуваме в десетичен и добавяме дробната част.

Вижте Приоритет на типове данни в SQL Server за списък с типове данни по приоритет.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи функцията TRANSLATE() в SQL Server (T-SQL)

  2. Как да използвате дизайнера на заявки в SQL Server

  3. Как да конвертирате низ в дата/час в SQL Server с помощта на CAST()

  4. Отстраняване на неизправности при изчерпване на работни нишки

  5. Как да преименувате ограничение на първичния ключ за множество таблици в база данни на SQL Server - SQL Server / TSQL урок, част 64