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

4 начина за конвертиране на число в процент в SQL Server (T-SQL)

Ето 4 начина за преобразуване на число в процентна стойност в SQL Server.

Строго погледнато, ние всъщност не го „преобразуваме“ в процент. Форматираме числото като процент. Но за да направим това, трябва да преобразуваме числото от числов тип данни в низ.

Ето 4 начина да направите това.

Пример 1 – Функцията FORMAT()

Най-очевидният избор за използване е FORMAT() функция. Това ви позволява да показвате числа и дати в определен формат.

Ето пример за използване на тази функция за показване на число като процент:

SELECT FORMAT(55, 'P') Result;

Резултат:

+------------+
| Result     |
|------------|
| 5,500.00 % |
+------------+

Забележете, че към нашата стойност бяха добавени четири нули (две преди десетичната запетая и две след).

Следното ще е необходимо, за да направите тези 55 процента:

SELECT FORMAT(.55, 'P') Result;

Резултат:

+----------+
| Result   |
|----------|
| 55.00 %  |
+----------+

Ако числото е действителната процентна стойност, която искате, можете да направите това:

SELECT FORMAT(55 * .01, 'P') Result;

Резултат:

+----------+
| Result   |
|----------|
| 55.00 %  |
+----------+

Можете също да премахнете дробната част, като добавите нула към спецификатора на формата:

SELECT FORMAT(.55, 'P0') Result;

Резултат:

+----------+
| Result   |
|----------|
| 55 %     |
+----------+

Ако е необходимо, можете да добавите още десетични знаци:

SELECT FORMAT(.55123456, 'P7') Result;

Резултат:

+--------------+
| Result       |
|--------------|
| 55.1234560 % |
+--------------+

Пример 2 – Функцията CONVERT()

Като алтернатива можете да използвате CONVERT() функция за преобразуване на числото в низ, след което добавете знак за процент в края.

Това може да изглежда малко ненужно, като се има предвид колко лесен го направи предишният пример, но FORMAT() функцията беше въведена само в SQL Server 2012. Ето как ще трябва да го направите, ако използвате по-ранна версия на SQL Server.

SELECT CONVERT(VARCHAR(4), 55) + ' %' Result;

Резултат:

+----------+
| Result   |
|----------|
| 55 %     |
+----------+

Разбира се, ако номерът ви е нещо като .55 и трябва това да се покаже като 55,00 %, тогава винаги можете да го умножите по 100:

SELECT CONVERT(VARCHAR(6), 0.55 * 100) + ' %' Result;

Резултат:

+----------+
| Result   |
|----------|
| 55.00 %  |
+----------+

В този случай увеличих и размера на varcharа тип данни, за да се погрижат за допълнителните знаци.

Също така, можете да премахнете дробната част, като използвате LEFT() функция:

SELECT CONVERT(VARCHAR(6), LEFT(0.55 * 100, 2)) + ' %' Result;

Резултат:

+----------+
| Result   |
|----------|
| 55 %     |
+----------+

Въпреки че трябва да внимавате, когато правите това, тъй като действителната стойност може да варира до повече или по-малко от 2. В този случай можете да използвате TRIM() функция за отрязване на начални нули и/или крайни точки:

SELECT CONVERT(VARCHAR(6), TRIM('0,.' FROM LEFT(0.55 * 100, 3))) + ' %' Result;

Резултат:

+----------+
| Result   |
|----------|
| 55 %     |
+----------+

Това обаче не е перфектно и FORMAT() функцията очевидно осигурява много повече гъвкавост с минимум код.

Пример 3 – Функцията CAST()

Като алтернатива можем да използваме CAST() функция, за да направи същото като предишния пример:

SELECT CAST(55 AS VARCHAR(4)) + ' %' Result;

Резултат:

+----------+
| Result   |
|----------|
| 55 %     |
+----------+

Обърнете внимание, че CAST() и CONVERT() използвайте малко по-различен синтаксис. В случай на CAST() стойността, която трябва да бъде прехвърлена, е на първо място, докато с CONVERT() е обратното .

Пример 4 – CONCAT() Функция

Можете също да използвате CONCAT() функция за свързване на число със знака за процент:

SELECT CONCAT(55, ' %') Result;

Резултат:

+----------+
| Result   |
|----------|
| 55 %     |
+----------+

Тази функция имплицитно преобразува всички аргументи в низови типове преди конкатенацията.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql сървър - свържете се с удостоверяване на Windows

  2. Как да изключа дните на уикенда в заявка на SQL Server?

  3. Как да промените име на база данни в SQL Server с помощта на T-SQL

  4. Как да създадете база данни в SQL Server

  5. Форматирайте телефонен номер в SQL Server (T-SQL)