2014-01-04 3 views
0

Я изучаю базу данных и у меня есть вопрос,Как округлить значение в SQL?

Когда я запускаю следующий запрос, чтобы дать мне 12 месяц Средняя зарплата,

SELECT `EmployeeNo`,(`Salary`/12,) as AverageSalary FROM Employee 

Зарплата, что она возвращается, как 7787.000992213

Как я могу округлить значение?

ответ

2

Если вы хотите, число усекается, сделайте это, используя TRUNCATE:

SELECT `EmployeeNo`,TRUNCATE((`Salary`/12,),0) as AverageSalary FROM Employee 

Если вы хотите, округляется до ближайшего целого числа, сделать это, с использованием ROUND:

SELECT `EmployeeNo`,ROUND(`Salary`/12,) as AverageSalary FROM Employee 
1

ROUND(X), ROUND(X,D) - раунды аргумента X в D знаков после запятой

Для примера:

SELECT `EmployeeNo`, ROUND(`Salary`/12) as AverageSalary FROM Employee 
0

Попробуйте этот запрос

функции
SELECT `EmployeeNo`,ROUND(`Salary`/12,) as AverageSalary FROM Employee 
0

Раунда() используется для округления числового поле к указанному числу десятичных знаков.

SELECT `EmployeeNo`, ROUND(`Salary`/12) as AverageSalary FROM Employee 

Округление просто означает округлить от 5 или вниз от чего-либо меньшего. КРУГЛЫЙ уникально тем, что вы можете сказать SQL какой позиции вы хотели бы ROUND() функцию закругленного

SELECT ROUND(1); /* returns 1 */ 
SELECT ROUND(1.5); /* returns 2 */ 
SELECT ROUND(1.4635, 1); /* returns 1.5 */ 
0

Используйте для MySQL:

SELECT 'EmployeeNo', ROUND('Salary'/12, 0) as AverageSalary FROM Employee 

С другой стороны, так как вам не нужны никаких знаков после запятой, вы можете обойти второй аргумент:

SELECT 'EmployeeNo', ROUND('Salary'/12) as AverageSalary FROM Employee 

Согласно the docs, функции ROUND() принимает два аргумента: первый это число будет округлой, а второй необязательно задает десятичное место вокруг, чтобы:

ROUND (X), ROUND (X, D)

раундов аргумент Х до D знаков после запятой. Алгоритм округления зависит от типа данных X. D по умолчанию 0, если не указано. D может быть отрицательным, чтобы заставить D-цифры слева от десятичной точки значения X равняться нулю.

0

Используйте круглые функции read here

SELECT `EmployeeNo`, ROUND(`Salary`/12,0) as AverageSalary FROM Employee 
Смежные вопросы