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

Как да закръглите числата в SQL

Проблем:

Искате да закръглите число до определен брой десетични знаци.

Пример:

Нашата база данни има таблица с име product с данни в следните колони:id , name и price_net .

id име price_net
1 хляб 2,34
2 кроасан 1.22
3 ролка 0,68

Да предположим, че има данък от 24% за всеки продукт и искате да изчислите брутната цена на всеки артикул (т.е. след данъци) и да закръглите стойността до два знака след десетичната запетая.

Решение:

SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross
FROM product;

Тази заявка връща брутната цена, закръглена до два знака след десетичната запетая:

id бруто_цена
1 2,90
2 1,51
3 0,84

Дискусия:

Ако искате да закръглите число с плаваща запетая до определен брой десетични знака в SQL, използвайте функцията ROUND. Първият аргумент на тази функция е колоната, чиито стойности искате да закръглите; вторият аргумент е незадължителен и обозначава броя на местата, до които искате да закръглите. По подразбиране, ако не посочите втория аргумент, функцията закръглява до най-близкото цяло число.

В този пример няма да посочим броя на местата, до които искаме да закръгляме колоната:

SELECT id, ROUND(price_net*1.24) as price_gross
FROM product;

А ето и съответния резултат:

id бруто_цена
1 3
2 2
3 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разликата между първичен ключ и уникален ключ

  2. 5 начина за изброяване на временни таблици с помощта на T-SQL

  3. Оператори на T-SQL SET Част 2:INTERSECT и EXCEPT

  4. Ръководство за внедряване на TimescaleDB с Docker

  5. Основи на табличните изрази, част 7 – CTE, съображения за оптимизация