Читайте также:
|
|
Большинство встроенных числовых функций предназначено для вы_ полнения определенных арифметических операций, таких как вычис_ ление квадратного корня числа. В табл. 7.1 перечислены некоторые распространенные числовые функции, принимающие один числовой аргумент и возвращающие число.
Таблица 7.1. Одноаргументные числовые функции
Функция | Описание |
Acos(x) | Вычисляет арккосинус x |
Asin(x) | Вычисляет арксинус x |
Atan(x) | Вычисляет арктангенс x |
Cos(x) | Вычисляет косинус x |
Cot(x) | Вычисляет котангенс x |
Exp(x) | Вычисляет ex |
Ln(x) | Вычисляет натуральный логарифм x |
Sin(x) | Вычисляет синус x |
Sqrt(x) | Вычисляет квадратный корень из x |
Tan(x) | Вычисляет тангенс x |
136 Глава 7. Создание, преобразование и работа с данными
Эти функции осуществляют очень специальные задачи. Не будем при_ водить здесь примеры для них (если читатель не узнаёт функцию по на_ званию или описанию, то, скорее всего, она ему не нужна). Однако дру_ гие числовые функции, используемые в вычислениях, чуть более гибки и заслуживают некоторого пояснения.
Например, оператор modulo, вычисляющий остаток от деления одного числа на другое, реализован в MySQL и Oracle Database функцией mod(). В следующем примере вычисляется остаток от деления 10 на 4:
mysql> SELECT MOD(10,4);
+___________+ | MOD(10,4) | +___________+
| | 2 | |
+___________+ | |
row in set (0.02 sec) |
Обычно функция mod() используется с целыми аргументами, но в My_ SQL 4.1.7 и более поздних версий допустимы и вещественные аргу_ менты:
mysql> SELECT MOD(22.75, 5); +_______________+
| MOD(22.75, 5) | +_______________+
| | 2.75 | |
+_______________+ | |
row in set (0.02 sec) |
В SQL Server нет функции mod(). Вместо нее для нахождения ос_ татка используется оператор %. Следовательно, выражение 10 % 4 дает в результате значение 2.
Другая числовая функция, принимающая два числовых аргумента, – функция pow() (в Oracle Database или SQL Server – power()), которая возвращает первое число в степени, равной второму числу, например:
mysql> SELECT POW(2,8);
+__________+ | POW(2,8) | +__________+
| | 256 | |
+__________+ | |
row in set (0.03 sec) |
Таким образом, pow(2,8) – эквивалент MySQL для записи 28. Посколь_ ку память компьютера распределена блоками по 2 x байт, с помощью функции pow() может быть удобно определять точное число байт в па_ мяти определенного объема:
mysql> SELECT POW(2,10) kilobyte, POW(2,20) megabyte,
_> POW(2,30) gigabyte, POW(2,40) terabyte;
Числовые данные | |
+__________+__________+____________+_______________+ | |
| kilobyte | megabyte | gigabyte | terabyte | | |
+__________+__________+____________+_______________+
| 1024 | 1048576 | 1073741824 | 1099511627776 |
+__________+__________+____________+_______________+
1 row in set (0.00 sec)
Не знаю как вам, но мне проще запомнить гигабайт как 230 байт, а не как число 1 073 741 824.
Дата добавления: 2015-08-17; просмотров: 74 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Строковые функции, возвращающие строки | | | Управление точностью числовых данных |