Sql математические функции: Математические функции (Transact-SQL) — SQL Server
Функция & Описание |
---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.26. Математические функции — Transact-SQL В подлиннике : Персональный сайт Михаила Флёнова
У MS SQL Server есть несколько математических функций, которые позволят нам перенести на сервер максимальное количество логики и освободить клиентские компьютеры от лишних расчетов, а значит и нагрузки.
2.26.1. Знаки
Иногда бывает необходимо определить значение числового поля, не обращая внимания на знак (абсолютное значение). Для этого используется функция ABS, которой в качестве параметра передается значение поля или переменной, а на выходе мы получаем то же число, но без знака.
В следующем примере объявляется целочисленная переменная, которой присваивается число -10. После выполнения ABS, на экране мы увидим число 10, а знак будет отброшен:
DECLARE @num int SET @num=-10 SELECT ABS(@num)
Следующий пример отображает название товара и абсолютное значение количества, ведь количество товара не может быть отрицательным (хотя, в некоторых задачах бывают и исключения):
SELECT [Название товара], ABS(Количество) FROM Товары
Для определения знака можно использовать функцию SIGN. В качестве параметра этой функции нужно передать число, а в качестве результата мы получаем:
- -1 если число отрицательное;
- 0 если число равно нулю;
- 1 если положительное.
Следующий запрос вернет нам значение -1:
SELECT SIGN(-12)
2.26.2. Округление
Функция CEILING возвращает ближайшее целое число, которое является больше, указанного в качестве параметра. Другими словами, происходит округление в большую сторону. Например, если в качестве параметра передать число 1.3, то ближайшее целое число, которое будет больше указанного, это 2. Следующий пример демонстрирует это в виде SQL запроса:
DECLARE @num float SET @num = 1.3 SELECT CEILING(@num)
Если передать отрицательное число, например, -12.5, то будет возвращено число 12, которое больше, и при этом ближайшее.
Давайте посмотрим, как можно округлить цены в таблице товаров до ближайшего целого:
SELECT [Название товара], CEILING(Цена), ABS(Количество) FROM Товары
Если в качестве параметра передать целое число, то функция вернет его, потому что оно уже является целым.
Обратную задачу выполняет функция FLOOR, которая округляет дробное число до ближайшего меньшего числа. Например:
DECLARE @num float SET @num = 1.3 SELECT FLOOR(@num)
В этом примере мы округляем число 1.3 до ближайшего меньшего, поэтому результатом будет 1.
Для отрицательного числа -4.6 ближайшим будет -5.
Для округления дробного числа до ближайшего целого (не имеет значения, в какую сторону) используется функция ROUND. У нее два параметра: дробное число, которое нужно округлить, и целое число, определяющее, до какого разряда необходимо округлить.
Давайте рассмотрим несколько примеров округления на примере числа 262.1537. Для начала округлим до целого числа, для этого второй параметр должен быть равен нулю:
SELECT ROUND(262.1537, 0)
В результате мы увидим число 262.0000.
Если необходимо оставить после запятой один символ, то в качестве второго параметра нужно указать число 1. «Запятая», это по российским правилам, а SQL сервер работает по американским стандартам и тут дробную часть отделяет точка. Итак, следующим пример оставляет один разряд после запятой:
SELECT ROUND(262.1537, 1)
В результате мы получаем число 262.2000.
Можно округлять и до любого разряда до запятой, для этого можно во втором параметре указать отрицательное значение. Если необходимо округлить до одного разряда до запятой, то в качестве второго параметра указываем число -1:
SELECT ROUND(262.1537, -1)
Результатом будет 260.0000.
2.26.3. Сложная математика
К функциям сложной математики я отнес логарифмы, экспоненту, потому что для их расчета нужно немалое процессорное время и перенести эти расчеты на сервер будет неплохим решением.
Функция EXP возвращает экспоненту указанного в качестве параметра числа:
DECLARE @angle float SET @angle = 90 SELECT EXP(@angle)
Для определения логарифма указанного числа используется функция LOG:
DECLARE @angle float SET @angle = 5.3 SELECT LOG(@angle)
2.26.4. Случайное значение
Для генерации случайного значения используется функция RAND. В качестве параметра передается переменная, которая определяет начальное значение или источник. Например:
DECLARE @r int SET @r=20000000 SELECT RAND(@r)
Попробуйте выполнить этот запрос несколько раз, и вы увидите в результате одно и то же значение. Это серьезный недостаток. Для одного и того же значения переменной, указанного в качестве параметра, будет одно и то же случайное число. Получается, что результат RAND нельзя назвать случайным.
2.26.5. Тригонометрические функции
Честно сказать, я не очень дружу с тригонометрией. Нет, с математикой в школе все было отлично, но после этого прошло очень много времени и многое позабылось, поэтому приходиться потратить много времени, чтобы восстановить всю необходимую информацию в памяти. А это необходимо, когда приходиться работать с графикой.
Тригонометрические функции слишком схожи, поэтому будем рассматривать их все оптом, так дешевле :).
Для определения арккосинуса используется функция ACOS, которой необходимо передать дробное число от -1 до 1, которое определяет необходимый угол:
DECLARE @angle float SET @angle = -1 SELECT ACOS(@angle)
В результате мы увидим арккосинус угла -1, который равен 3.1415926535897931. Ничего вам это не напоминает? Если вспомнить математику, то это число должно напомнить вам константу Пи.
Для получения числа Пи можно воспользоваться и более простым методом – вызвать функцию PI:
SELECT PI()
Функция ASIN возвращает арксинус указанного угла. Угол также задается в диапазоне от -1 до 1.
DECLARE @angle float SET @angle = -1 SELECT ASIN(@angle)
Функция ATAN возвращает арктангенс:
DECLARE @angle float SET @angle = -1 SELECT ATAN(@angle)
Функция COS возвращает косинус:
DECLARE @angle float SET @angle = 90 SELECT COS(@angle)
Для определения синуса используем функцию SIN:
DECLARE @angle float SET @angle = 90 SELECT SIN(@angle)
Для определения тангенса используется функция TAN:
DECLARE @angle float SET @angle = 90 SELECT TAN(@angle)
2.26.6. Степень
Для работы со степенями есть только две функции SQRT – квадратный корень и SQUARE – возведение числа в квадрат. Следующий пример показывает, как можно определить квадратный корень числа 4:
SELECT SQRT(4)
В результате мы увидим число 2. Следующий пример считает квадрат числа 6:
SELECT SQUARE(6)
В результате мы увидим число 36.
posted Mar 23, 2013, 4:56 AM by SS Geology
|
Типы функций в языке T-SQL (Microsoft SQL Server) | Info-Comp.ru
Приветствую Вас на сайте Info-Comp.ru! В данном материале мы рассмотрим все типы функций, которые существуют в языке T-SQL.
Функция в базе данных – это подпрограмма внутри базы данных, реализующая определенный алгоритм.
В Microsoft SQL Server существуют следующие типы функций.
Пользовательские функции в T-SQL
Пользовательские функции (UDF – User Defined Functions) – это функции, которые создаём мы — пользователи, т.е. программисты T-SQL.
В Microsoft SQL Server пользовательские функции реализованы в виде объектов, которые хранят заложенный в функцию алгоритм. Обращаясь к этим объектам, мы, тем самым, запускаем этот алгоритм.
В функциях мы можем обращаться к данным и проводить различные расчеты, при этом мы можем программировать на T-SQL, т.е. использовать переменные, условные конструкции, циклы и даже вызывать другие функции.
Заметка! Для чего нужны пользовательские функции в T-SQL.
В Microsoft SQL Server пользовательские функции делятся на несколько типов.
- Скалярные функции – это функции, которые возвращают одно значение заданного типа данных;
- Табличные функции – это функции, которые возвращают табличные данные, т.е. данные типа TABLE.
Встроенные функции T-SQL
Кроме пользовательских функций, которые создаём мы, в Microsoft SQL Server есть ещё и функции, которые созданы разработчиками СУБД с целью выполнения различных, часто встречающихся операций. Такие функции называется – встроенные функции.
В отличие от пользовательских функций, встроенные функции нельзя изменить и нельзя удалить.
В Microsoft SQL Server существует множество встроенных функций. Все их можно подразделить на группы по назначению.
Заметка! Чем отличаются функции от хранимых процедур в T-SQL.
Агрегатные функции
Агрегатные функции – это функции, которые выполняют определенное вычисление на наборе значений и возвращают одиночное значение.
Агрегатные функции обычно используются в сочетании с группировкой GROUP BY инструкции SELECT.
Все агрегатные функции являются детерминированными. Это означает, что они всегда возвращают одинаковый результат для одинаковых входных параметров.
К агрегатным функциям T-SQL относятся:
- AVG
- SUM
- MAX
- MIN
- COUNT
- COUNT_BIG
- APPROX_COUNT_DISTINCT
- CHECKSUM_AGG
- GROUPING
- GROUPING_ID
- STDEV
- STDEVP
- STRING_AGG
- VAR
- VARP
Строковые функции
Строковые функции – это функции, которые работают со строками, иными словами, с текстовыми значениями в столбце, т.е. выполняют различные операции над текстом.
Практически все встроенные строковые функции (кроме FORMAT) являются детерминированными.
К строковым функциям T-SQL относятся:
- LEN
- LEFT
- RIGHT
- LTRIM
- RTRIM
- TRIM
- LOWER
- UPPER
- SUBSTRING
- CONCAT
- CONCAT_WS
- ASCII
- CHAR
- NCHAR
- CHARINDEX
- REPLACE
- SPACE
- STR
- PATINDEX
- QUOTENAME
- и другие.
Заметка! Конкатенация строк в T-SQL. Способы используемые в Microsoft SQL Server.
Математические функции
Математические функции – это функции, которые позволяют производить различные математические расчеты, как простые, так и сложные.
Все математические функции, кроме RAND, являются детерминированными.
- FLOOR
- CEILING
- ROUND
- ABS
- PI
- POWER
- RAND
- SIGN
- SQRT
- SQUARE
- COS
- ACOS
- SIN
- ASIN
- TAN
- ATAN
- COT
- LOG
- и другие.
Функции для работы с датой и временем
Это функции, которые позволяют работать с датой и временем.
- GETDATE
- DATENAME
- DATEPART
- DAY
- MONTH
- YEAR
- DATEDIFF
- DATEADD
- ISDATE
- и другие.
Заметка! Статистика в Microsoft SQL Server – что это такое и для чего она нужна.
Функции преобразования
Функции преобразования – это функции, которые позволяют преобразовать значение одного типа данных в другой.
- CAST
- TRY_CAST
- CONVERT
- TRY_CONVERT
- PARSE
- TRY_PARSE
Логические функции
Логические функции позволяют выполнять логические операции. Иными словами, это что-то вроде условных конструкций, реализованных в виде функций.
Заметка! Логическая функция CHOOSE в T-SQL – описание и примеры использования.
Функции работы с курсорами
Такие функции возвращают сведения о курсорах.
Все функции работы с курсорами являются недетерминированными.
- @@CURSOR_ROWS
- @@FETCH_STATUS
- CURSOR_STATUS
Функции JSON
Такие функции предназначены для работы с форматом данных JSON.
- ISJSON
- JSON_VALUE
- JSON_QUERY
- JSON_MODIFY
Заметка! Работа с JSON в Microsoft SQL Server.
Ранжирующие функции
Ранжирующие функции возвращают ранжирующее значение для каждой строки в секции набора данных. В зависимости от используемой функции значения некоторых строк могут совпадать. Ранжирующие функции являются недетерминированными.
- ROW_NUMBER
- RANK
- DENSE_RANK
- NTILE
Аналитические функции
Аналитические функции вычисляют статистическое значение на основе группы строк. Такие функции можно использовать для вычисления скользящих средних, промежуточных итогов, процентных долей, первых или последних строк в группе.
- FIRST_VALUE
- LAST_VALUE
- LAG
- LEAD
- PERCENT_RANK
- PERCENTILE_CONT
- PERCENTILE_DISC
- CUME_DIST
Заметка! Как включить нумерацию строк кода в SQL Server Management Studio.
Функции конфигурации
Функции конфигурации – это функции, которые возвращают сведения о текущих значениях параметров конфигурации.
Все функции конфигурации являются недетерминированными.
- @@DATEFIRST
- @@DBTS
- @@LANGID
- @@LANGUAGE
- @@LOCK_TIMEOUT
- @@MAX_CONNECTIONS
- @@MAX_PRECISION
- @@NESTLEVEL
- @@OPTIONS
- @@REMSERVER
- @@SERVERNAME
- @@SERVICENAME
- @@SPID
- @@TEXTSIZE
- @@VERSION
Функции метаданных
Функции метаданных – это функции, которые возвращают сведения о базах данных и объектах баз данных. Все функции метаданных являются недетерминированными.
- VERSION
- DB_ID
- DB_NAME
- FILE_ID
- FILE_NAME
- APP_NAME
- OBJECT_ID
- OBJECT_NAME
- SCHEMA_ID
- SCHEMA_NAME
- SCOPE_IDENTITY
- TYPE_ID
- TYPE_NAME
- PARSENAME
- SERVERPROPERTY
- и другие.
Заметка! Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.
Функции безопасности
Функции безопасности – это функции, которые возвращают данные о пользователях и ролях. Иными словами, такие функции возвращают сведения, необходимые для управления безопасностью.
- IS_MEMBER
- IS_ROLEMEMBER
- IS_SRVROLEMEMBER
- SUSER_SNAME
- SYSTEM_USER
- SUSER_NAME
- USER_ID
- USER_NAME
- SUSER_SID
- SESSION_USER
- CURRENT_USER
- и другие.
Системные функции
Системные функции – это функции, которые выполняют операции над значениями, объектами и параметрами экземпляра Microsoft SQL Server и возвращают сведения о них.
Системные статистические функции
Такие функции возвращают статистические сведения о системе. Все системные статистические функции являются недетерминированными.
- @@CONNECTIONS
- @@PACK_RECEIVED
- @@CPU_BUSY
- @@PACK_SENT
- fn_virtualfilestats
- @@TIMETICKS
- @@IDLE
- @@TOTAL_ERRORS
- @@IO_BUSY
- @@TOTAL_READ
- @@PACKET_ERRORS
- @@TOTAL_WRITE
Заметка! Курсы по T-SQL для начинающих.
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Нравится7Не нравится
Математические функции | Документация ClickHouse
- Справка по SQL
- Функции
Все функции возвращают число типа Float64. Точность результата близка к максимально возможной, но результат может не совпадать с наиболее близким к соответствующему вещественному числу машинно представимым числом.
e()
Возвращает число типа Float64, близкое к числу e.
pi()
Возвращает число типа Float64, близкое к числу π.
exp(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к экспоненте от аргумента.
log(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к натуральному логарифму от аргумента.
exp2(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к 2 в степени x.
log2(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к двоичному логарифму от аргумента.
exp10(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к 10 в степени x.
log10(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к десятичному логарифму от аргумента.
sqrt(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к квадратному корню от аргумента.
cbrt(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к кубическому корню от аргумента.
erf(x)
Если x неотрицательно, то erf(x / σ√2) — вероятность того, что случайная величина, имеющая нормальное распределение со среднеквадратичным отклонением σ, принимает значение, отстоящее от мат. ожидания больше чем на x.
Пример (правило трёх сигм):
┌─erf(divide(3, sqrt(2)))─┐
│ 0.9973002039367398 │
└─────────────────────────┘
erfc(x)
Принимает числовой аргумент, возвращает число типа Float64, близкое к 1 — erf(x), но без потери точности для больших x.
lgamma(x)
Логарифм от гамма функции.
tgamma(x)
Гамма функция.
sin(x)
Синус.
cos(x)
Косинус.
tan(x)
Тангенс.
asin(x)
Арксинус.
acos(x)
Арккосинус.
atan(x)
Арктангенс.
pow(x, y)
Принимает два числовых аргумента x и y. Возвращает число типа Float64, близкое к x в степени y.
cosh(x)
Гиперболический косинус.
Синтаксис
Аргументы
x
— угол в радианах. Значения из интервала:-∞ < x < +∞
. Float64.
Возвращаемое значение
- Значения из интервала:
1 <= cosh(x) < +∞
.
Тип: Float64.
Пример
Запрос:
Результат:
┌─cosh(0)──┐
│ 1 │
└──────────┘
acosh(x)
Обратный гиперболический косинус.
Синтаксис
Аргументы
x
— гиперболический косинус угла. Значения из интервала:1 <= x < +∞
. Float64.
Возвращаемое значение
- Угол в радианах. Значения из интервала:
0 <= acosh(x) < +∞
.
Тип: Float64.
Пример
Запрос:
Результат:
┌─acosh(1)─┐
│ 0 │
└──────────┘
Смотрите также
sinh(x)
Гиперболический синус.
Синтаксис
Аргументы
x
— угол в радианах. Значения из интервала:-∞ < x < +∞
. Float64.
Возвращаемое значение
- Значения из интервала:
-∞ < sinh(x) < +∞
.
Тип: Float64.
Пример
Запрос:
Результат:
┌─sinh(0)──┐
│ 0 │
└──────────┘
asinh(x)
Обратный гиперболический синус.
Синтаксис
Аргументы
x
— гиперболический синус угла. Значения из интервала:-∞ < x < +∞
. Float64.
Возвращаемое значение
- Угол в радианах. Значения из интервала:
-∞ < asinh(x) < +∞
.
Тип: Float64.
Пример
Запрос:
Результат:
┌─asinh(0)─┐
│ 0 │
└──────────┘
Смотрите также
atanh(x)
Обратный гиперболический тангенс.
Синтаксис
Аргументы
x
— гиперболический тангенс угла. Значения из интервала:–1 < x < 1
. Float64.
Возвращаемое значение
- Угол в радианах. Значения из интервала:
-∞ < atanh(x) < +∞
.
Тип: Float64.
Пример
Запрос:
Результат:
┌─atanh(0)─┐
│ 0 │
└──────────┘
atan2(y, x)
Функция вычисляет угол в радианах между положительной осью x и линией, проведенной из начала координат в точку (x, y) ≠ (0, 0)
.
Синтаксис
Аргументы
y
— координата y точки, в которую проведена линия. Float64.x
— координата х точки, в которую проведена линия. Float64.
Возвращаемое значение
- Угол
θ
в радианах из интервала:−π < θ ≤ π
.
Тип: Float64.
Пример
Запрос:
Результат:
┌────────atan2(1, 1)─┐
│ 0.7853981633974483 │
└────────────────────┘
hypot(x, y)
Вычисляет длину гипотенузы прямоугольного треугольника. При использовании этой функции не возникает проблем при возведении в квадрат очень больших или очень малых чисел.
Синтаксис
Аргументы
x
— первый катет прямоугольного треугольника. Float64.y
— второй катет прямоугольного треугольника. Float64.
Возвращаемое значение
- Длина гипотенузы прямоугольного треугольника.
Тип: Float64.
Пример
Запрос:
Результат:
┌────────hypot(1, 1)─┐
│ 1.4142135623730951 │
└────────────────────┘
log1p(x)
Вычисляет log(1+x)
. Функция log1p(x)
является более точной, чем функция log(1+x)
для малых значений x.
Синтаксис
Аргументы
x
— значения из интервала:-1 < x < +∞
. Float64.
Возвращаемое значение
- Значения из интервала:
-∞ < log1p(x) < +∞
.
Тип: Float64.
Пример
Запрос:
Результат:
┌─log1p(0)─┐
│ 0 │
└──────────┘
Смотрите также
sign(x)
Возвращает знак действительного числа.
Синтаксис
Аргумент
x
— Значения от-∞
до+∞
. Любой числовой тип, поддерживаемый ClickHouse.
Возвращаемое значение
- -1 если
x < 0
- 0 если
x = 0
- 1 если
x > 0
Примеры
Результат sign() для нуля:
Результат:
┌─sign(0)─┐
│ 0 │
└─────────┘
Результат sign() для положительного аргумента:
Результат:
┌─sign(1)─┐
│ 1 │
└─────────┘
Результат sign() для отрицательного аргумента:
Результат:
┌─sign(-1)─┐
│ -1 │
└──────────┘
Математические функции SQL
AVG()- функция возвращает среднее значение
числового столбца.
COUNT()- данная функция возвращает количество
строк, которые соответствует определенным критериям.
FIRST()- данная функция возвращает первое
значение для выбранного столбца.
LAST()- данная функция возвращает последнее
значение для выбранного столбца.
MAX()- функция возвращает наибольшее значение для
выбранного столбца.
MIN()- функция возвращает наименьшее значение для
выбранного столбца.
SUM()- функция возвращает сумму числового столбца.
Строковые функции SQL
UCASE()- функция преобразует символы в верхний
регистр.
LCASE()- функция преобразует символы в нижний
регистр.
MID()- функция используется для получения
определенного количества символов из текстового поля
LEN()- определяет длину строки.
ROUND()- данная функция используется для
округление плавающего числа.
NOW()- функция, которая возвращает текущую
системную дату и время.
FORMAT()- данная функция используется для
форматирования полей.
Таблица 8.2. Математические функции SQL | |
Математическая функция | Описание |
ABS(X) | Возвращает абсолютное значение числа Х |
ACOS(X) | Возвращает арккосинус числа Х |
ASIN(X) | Возвращает арксинус числа Х |
ATAN(X) | Возвращает арктангенс числа Х |
COS(X) | Возвращает косинус числа Х |
EXP(X) | Возвращает экспоненту числа Х |
SIGN(X) | Возвращает -1, если Х<0,0, если Х=0, +1, если Х>0 |
LN(X) | Возвращает натуральный логарифм числа Х |
MOD(X,Y) | Возвращает остаток от деления Х на Y |
CEIL(X) | Возвращает наименьшее целое, большее или равное Х |
ROUND(X,n) | Округляет число Х до числа с n знаками после десятичной точки |
SIN(X) | Возвращает синус числа Х |
SQRT(X) | Возвращает квадратный корень числа Х |
TAN(X) | Возвращает тангенс числа Х |
FLOOR(X) | Возвращает наибольшее целоеб меньшее или равное Х |
LOG(a,X) | Возвращает логарифм числа Х по основанию А |
SINH(X) | Возвращает гиперболический синус числа Х |
COSH(X) | Возвращает гиперболический косинус числа Х |
TANH(X) | Возвращает гиперболический тангенс числа Х |
TRANC(X,n) | Усекает число Х до числа с n знаками после десятичной точки |
POWER(A,X) | Возвращает значение А, возведенное в степень Х |
Набор встроенных функций может изменяться в зависимости от версии СУБД одного производителя и также в СУБД различных производителей. Так, например, в СУБД SQLBase, Centure Inc. есть функция @ATAN2(X,Y), которая возвращает арктангенс Y/X, но отсутствует функция SIGN(X).Арифметические выражения необходимы для получения данных, которые непосредственно не сохраняются в колонках таблиц базы данных, но значения которых необходимы пользователю. Допустим, что вам необходим список служащих, показывающий выплату, которую получил каждый служащий с учетом премий и штрафов.SELECT ENAME, SAL, COMM, FINE, SAL + COMM – FINE
FROM EMPLOYEE
ORDER BY DEPNO;
Арифметическое выражение SAL + COMM — FINE выводится как новая колонка в результирующей таблице, которая вычисляется в результате выполнения запроса. Такие колонки называют еще производными (вычисляемыми) атрибутами или полями.
24Отбор записей с помощью предложения SELECT.Предложение SELECT является основой каждого запроса, предназначенного для выборки данных. Оно указывает процессору баз данных, какие поля требуется возвратить. Общая форма предложения SELECT имеет следующий вид:
SELECT *
А его содержание таково: «Вернуть значения всех полей, найденных в указанном источнике записей». Эта форма команды удобна тем, что вам не обязательно знать имена извлекаемых полей таблицы. Однако выборка всех полей таблицы может быть не рациональной, особенно в том случае, когда требуется только два поля, в то время как такой запрос осуществляет выборку двух десятков полей.Кроме команды, передаваемой процессору базы данных на возврат всех полей источника записей, можно задать конкретный перечень необходимых при отборе полей. Такое ограничение может улучшить эффективность выполнения запроса, особенно для больших таблиц, содержащих много полей, так как в этом случае отбираются только нужные поля.Ниже приводится пример предложения SELECT, которое извлекает из базы данных значения только двух полей таблицы- FirstName и LastName, содержащих имя и фамилию клиента.
SELECT [FirstName], [LastName]
Обратите внимание также на то, что предложение SELECT не готово к выполнению без предложения FROM (поэтому примеры предложения SELECT, приведенные в этом разделе, выполнить в таком виде нельзя). Чтобы полнее ознакомиться с предложениями SELECT, просмотрите примеры использования предложения FROM, приведенные в следующем разделе.Указание источника записей с помощью предложения FROMПредложение FROM указывает на источник записей, из которого запрос извлекает записи. Этим источником может быть как таблица, так и другой хранимый запрос. У вас также есть возможность отбора записей из нескольких таблиц, которая подробно рассматривается далее, в разделе об объединении нескольких таблиц в одном запросе.Предложения FROM работают совместно с предложениями SELECT. Например, чтобы отобрать все записи в таблице tblCustomer, используйте приведенную ниже команду SQL.
SELECT *FROM tblCustomer
При выполнении этого запроса считываются все записи и все поля в таблице tblCustomer (без какого-либо упорядочения записей).Чтобы отобрать только имя и фамилию клиентов, воспользуйтесь приведенной ниже командой SQL. SELECT FirstName, LastName FROM tblCustomerПосле изменения запроса в режиме конструктора представления выберите команду Query→Run (Запрос→Запуск) для обновления результатов выполнения запроса
26) Для обеспечения структурированности в расположении строк результирующей таблицы в операторе SELECT используется конструкциия ORDER BY. При использовании команды ORDER BY строки в таблице расположены по умолчанию , если мы хотим расположить строки в порядке убывания\возврастания то мы должны использовать ключевые слова DESC\ASC.SELECT Параметр упорядовачивания(Например упорядочивать строку с Фамилиями или с Возврастом)(й) FROM имя таблицы ORDER BY Параметр упорядовачивания(й) ASC|DESC
Из соображений эффективности всегда ограничивайте число полей в предложении SELECT только теми полями, которые могут потребоваться вашему приложению. Обратите внимание, что записи, отобранные запросом SELECT FROM, в результирующем наборе не упорядочены. Если не задать порядок сортировки (использование предложения ORDER BY рассматривается ниже в этой главе), записи всегда возвращаются в неопределенном порядке.Формирование критериев с использованием предложения WHEREПредложение WHERE указывает процессору базы данных на необходимость ограничения количества отбираемых записей согласно одному или нескольким заданным критериям. Критерий — это логическое выражение, результатом оценки которого является либо «истина» (true), либо «ложь» (false). В языке SQL существует много аналогичных выражений эквивалентности, знакомых пользователям Visual Basic (например: >0 и =’ Smith ‘).Предположим, вам нужно отобрать только тех заказчиков, которые проживают в Калифорнии (СА). Для этого можно использовать приведенный ниже запрос SQL. SELECT FirstName, LastName, State FROM tblCustomer
WHERE State = ‘CA’
В результате выполнения этого запроса будет извлечена запись с данными о клиенте с именем Daisy Klein.Обратите внимание также на то, что для обозначения текстовой строки в предложении WHERE используется одиночная кавычка. Подобное обозначение удобно тем, что отличается от обозначения текстовой строки в Visual Basic двойной кавычкой, а инструкции SQL иногда встраиваются в код Visual Basic.Можно создавать более сложные предложения WHERE, связывая два и более критерия с помощью логических операторов AND или OR. Например, необходимо отобрать всех клиентов, проживающих в городе Денвер (Denver) штата Колорадо (СО), т.е. вас не интересуют те клиенты, которые проживают в других городах этого штата. Для этого нужно задать два критерия и связать их оператором AND, как показано в приведенном ниже примере. SELECT FirstName, LastName, City, State FROM tblCustomer WHERE (State = ‘CO’) AND (City = ‘Denver’)В результате выполнения этого запроса будет извлечена запись с данными о клиенте с именем ThurstonRyan, который живет в городе Денвер, штат Колорадо. Если в этом городе живут другие клиенты, то в результате выполнения данного запроса будут извлечены записи с информацией о них. Однако при этом не будут извлекаться сведения о клиентах, которые проживают в городах с тем же названием, но в других штатах.Если вас интересует информация о клиентах в штатах Вашингтон (WA) и Калифорния (СА), воспользуйтесь оператором OR, чтобы связать два критерия, как показано ниже.SELECT FirstName, LastName, City, State FROM tblCustomer WHERE State = ‘CO’ OR State = ‘CA’ В результате выполнения этого запроса будут извлечены три записи с данными о клиентах в штатах Вашингтон и Калифорния. Из сказанного выше следует, что для отбора данных из таблицы с помощью условий AND и OR можно составить практически любую комбинацию критериев в предложении WHERE. Операторы, используемые в предложении WHERE При построении предложения WHERE можно использовать операторы
Оператор | Функция | ||||
< | Меньше | ||||
<= | Меньше или равно | ||||
> | Больше | ||||
>= | Больше или равно | ||||
= | Равно | ||||
<> | Не равно | ||||
BETWEEN | Внутри диапазона значений | ||||
LIKE | Соответствует образцу | ||||
IN | Входит в список значений | ||||
25.Оператор BETWEEN используется для поиска значения внутри некоторого интервала, определяемого своими минимальным и максимальным значениями.] – вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях 27) В языке MYSQL существует множество обьединений но первую очередь, это разновидности объединений JOIN, к которым относятся INNER JOIN, LEFT JOIN, RIGHT JOIN.Пересечение или INNER JOIN Критерий объединения во всех вариантах операции JOIN указывается после ключевого слова ON. Критерий объединения может быть сложным, т.е. состоять из нескольких условий, связанных операторами AND и OR, но в наших примерах это всегда будет простое условие. Итак, свяжем данные из таблицы D_STAFF с данными из таблицы D_STAFF_PROFILE с целью получить идентификаторы всех профилей пользователей, с которыми связаны сотрудники в базе данных. ПРИМЕРSELECT D_STAFF.S_NAME, D_STAFF.S_EXPERIENCE, D_STAFF_PROFILE.PROFILE_ID FROM D_STAFF INNER JOIN D_STAFF_PROFILE ON D_STAFF_PROFILE.STAFF_ID=D_STAFF.XD_IID ORDER BY D_STAFF.S_EXPERIENCE DESCПересечение с необязательным присутствием слева или LEFT JOIN Разница INNER JOIN и LEFT JOIN будет очевидна, если мы возьмем тот же запрос, но поменяем INNER на LEFT.Пересечение с необязательным присутствием справа или RIGHT JOIN | 20:10:04 | ||||
28. Знакомство с функциями аргумента LEN, MID, UCASE, LCASE и функциями результата для определения критериев отбора посредством конструкций HAVING и GROUP BY.
LEN() — определяет длину строки
Итак, мы хотим определить длину записей для колонки «Address».
SELECT LEN(Address) as LengthOfAddress FROM Persons
MID() — функция используется для получения определенного количества символов из текстового поля.
SELECT MID(column_name,start[,length]) FROM table_nameSELECT MID(City,1,4) as SmallCity FROM PersonsUCASE()— функция преобразует символы в верхний регистр.(сделать буквы большими)SELECT UCASE(column_name) FROM table_name
Теперь мы хотим выбрать поля «LastName» и «FirstName» и преобразовать колонку «LastName» в верхний регистр.
SELECT UCASE(LastName) as LastName,FirstName FROM Persons
LCASE()— функция преобразует символы в нижний регистр.(cсделать буквы маленькими)SELECT LCASE(column_name) FROM table_nameSELECT LCASE(LastName) as LastName,FirstName FROM Persons MIN() — функция возвращает наименьшее значение для выбранного столбца.SELECT MIN(column_name) FROM table_nameТеперь мы хотим найти наименьшее значение из колонки «OrderPrice».SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM OrdersMAX() — функция возвращает наибольшее значение для выбранного столбца.SELECT MAX(column_name) FROM table_nameТеперь мы хотим найти наибольшее значение колонки «OrderPrice».SELECT MAX(OrderPrice) AS LargestOrderPrice FROM OrdersSUM()— функция возвращает сумму числового столбца.SELECT SUM(column_name) FROM table_nameТеперь мы хотим найти сумму всех записей»OrderPrice».SELECT SUM(OrderPrice) AS OrderTotal FROM OrdersAVG()— функция возвращает среднее значение числового столбца.SELECT AVG(column_name) FROM table_nameТеперь мы хотим найти среднее значение колонки «OrderPrice».Выполним запрос:SELECT AVG(OrderPrice) AS OrderAverage FROM Ordersеперь мы хотим найти клиентов, которые заказ OrderPrice больше чем в среднее значение колонки «OrderPrice».Выполним запрос:SELECT Customer FROM OrdersWHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)COUNT() — данная функция возвращает количество строк, которые соответствует определенным критериям.
COUNT(COLUMN_NAME) — функция возвращает определенная количество записей (NULL значения не будут учитываться) конкретного столбца:
SELECT COUNT(column_name) FROM table_name
Синтаксис SQL COUNT(*)
В COUNT (*) — функция возвращает все записи в таблице:
SELECT COUNT(*) FROM table_name
Синтаксис SQL COUNT(DISTINCT column_name)
COUNT(DISTINCT COLUMN_NAME) — возвращает только разные записи:
SELECT COUNT(DISTINCT column_name) FROM table_name
Синтаксис SQL COUNT(DISTINCT column_name)
COUNT(DISTINCT COLUMN_NAME) — возвращает только разные записи:
SELECT COUNT(DISTINCT column_name) FROM table_name
Теперь мы хотим подсчитать число заказов от клиента «Nilsen».
SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer=’Nilsen’
HAVING — добавлена в SQL поскольку условие WHERE не может использовать функции.
SELECT column_name, aggregate_function(column_name)
FROM table_name
SQLite — Встроенные математические функции SQL — 1.Обзор Математические функции, показанные ниже, являются частью исходного файла
Математические функции, показанные ниже, являются частью исходного файла объединения SQLite, но активны только в том случае, если объединение скомпилировано с использованием параметра времени компиляции -DSQLITE_ENABLE_MATH_FUNCTIONS .
Аргументами математических функций могут быть целые числа,числа с плавающей точкой,строки или блобы,похожие на целые или вещественные числа.Если какой-либо аргумент равен NULL или является строкой или блобом,который не может быть легко преобразован в число,то функция возвращает NULL.Эти функции также возвращают NULL при ошибках домена,например,при попытке извлечь квадратный корень из отрицательного числа или вычислить арккосинус значения больше 1.0 или меньше -1.0.
Значения, возвращаемые этими функциями, часто являются приблизительными. Например, функция pi () возвращает 3,141592653589793115997963468544185161590576171875, что примерно на 1,22465e-16 меньше, но это самое близкое приближение, доступное для удвоений IEEE754.
acos(X)
Возвращает арккосинус X.Результат в радианах.
acosh(X)
Возвращает гиперболический арккосинус X.
asin(X)
Возвращает арксинус X.Результат вычисляется в радианах.
asinh(X)
Возвращает гиперболический арксинус X.
atan(X)
Возвращает арктангенс X.Результат в радианах.
atan2(X,Y)
Возвращает арктангенс Y/X.Результат выражается в радианах.Результат помещается в правильный квадрант в зависимости от знаков X и Y.
atanh(X)
Возвращает гиперболический арктангенс X.
ceil(X)
ceiling(X)
Возвращает первое представимое целое значение,большее или равное X.Для положительных значений X эта процедура округляет от нуля.Для отрицательных значений X эта процедура округляет в сторону нуля.
cos(X)
Возвращает косинус X.X-в радианах.
cosh(X)
Возвращает гиперболический косинус X.
degrees(X)
Преобразование значения X из радиан в градусы.
exp(X)
Computee(Число Эйлера, примерно 2,71828182845905) в степени X.
floor(X)
Возвращает первое представимое целое значение,меньшее или равное X.Для положительных чисел эта функция округляет в сторону нуля.Для отрицательных чисел эта функция округляет в сторону от нуля.
ln(X)
Возвращает натуральный логарифм X.
log(X)
log10(X)
log(B,X)
Возвращает логарифм по основанию 10 для X.Или,в версии с двумя аргументами,возвращает логарифм по основанию B для X.
Примечание по совместимости:SQLite работает как PostgreSQL в том смысле,что функция log()вычисляет логарифм по основанию 10.Большинство других SQL-систем баз данных вычисляют натуральный логарифм для log().В двухаргументной версии log(B,X)первый аргумент является основанием,а второй-операндом.Это так же,как в PostgreSQL и MySQL,но отличается от SQL Server,где второй аргумент используется как основание,а первый-как операнд.
log2(X)
Возвращает логарифм по основанию 2 для числа X.
mod(X,Y)
Возвращает остаток после деления X на Y.Это похоже на оператор ‘%’,за исключением того,что он работает для нецелых аргументов.
pi()
Возвратите приближение для π.
pow(X,Y)
power(X,Y)
Вычислите X,возведенное в степень Y.
radians(X)
Преобразование X из градусов в радианы.
sin(X)
Возвращает синус X.X-в радианах.
sinh(X)
Возвращает гиперболический синус X.
sqrt(X)
Возвращает квадратный корень из X.NULL возвращается,если X отрицателен.
tan(X)
Возвращает тангенс X.X в радианах.
tanh(X)
Возвращает гиперболическую касательную к X.
trunc(X)
Верните представимое целое число от X до 0 (включительно), которое дальше всего от нуля. Или, другими словами, вернуть целую часть X с округлением до нуля. Функция trunc () похожа на функцию потолка (X) и пола (X), за исключением того, что она всегда округляется до нуля, а функция потолка (X) и пола (X) округляется вверх и вниз соответственно.
Арифметическая функция
SQL — w3resource
Арифметическая функция
Математическая функция выполняет математическую операцию, обычно на основе входных значений, предоставленных в качестве аргументов, и возвращает числовое значение в качестве результата операции. Математические функции работают с числовыми данными, такими как десятичные, целые, числа с плавающей запятой, вещественные, smallint и tinyint.
По умолчанию точность встроенных операций с данными типа float составляет шесть десятичных знаков.
Арифметические функции SQL:
Функции | Описание |
---|---|
АБС () | Этот SQL ABS () возвращает абсолютное значение числа, переданного в качестве аргумента. |
CEIL () | Этот SQL CEIL () округляет любое положительное или отрицательное десятичное значение в функции в большую сторону. |
ЭТАЖ () | SQL FLOOR () округляет любое положительное или отрицательное десятичное значение до следующего наименьшего целого числа. |
EXP () | SQL EXP () возвращает e в степени n (n — числовое выражение), где e — основание естественного алгоритма, а значение e составляет приблизительно 2,71828183. |
LN () | Функция SQL LN () возвращает натуральный логарифм n, где n больше 0, а его основание — число, равное примерно 2,71828183. |
МОД () | Эта функция SQL MOD () возвращает остаток от деления. |
МОЩНОСТЬ () | Эта функция SQL POWER () возвращает значение числа, возведенного в другое, где оба числа передаются в качестве аргументов. |
SQRT () | SQL SQRT () возвращает квадратный корень из заданного значения в аргументе. |
Это новый документ, который представляет собой сборник вопросов с короткими и простыми ответами, который полезен для изучения SQL, а также для интервью.
Слайд-презентация:
Практические упражнения по SQL
Хотите улучшить статью выше? Публикуйте свои заметки / комментарии / примеры через Disqus.
Предыдущая: Мин. Счет
Следующая: ABS
Математические функции SQL
SQL имеет множество математических функций, которые позволяют выполнять деловые и инженерные расчеты.
Не все математические функции SQL используются в обычных повседневных операциях. Однако есть несколько часто используемых функций, показанных в следующей таблице:
Имя | Описание |
---|---|
ABS | Возвращает абсолютное значение |
ACOS | Возвращает дугу косинус аргумента |
ASIN | Возвращает арксинус аргумента |
ATAN | Возвращает арктангенс аргумента |
CEIL, CEILING | Округляет число с плавающей запятой до ближайшего целого числа |
COS | Возвращает косинус аргумента |
COT | Возвращает котангенс аргумента |
EXP | Возвращает константу e (2.71828…), который возводится в степень указанного числа |
LN | Возвращает натуральный логарифм аргумента |
LOG | Возвращает натуральный логарифм первого аргумента |
LOG10 | Возвращает Логарифм аргумента по основанию 10 |
LOG2 | Возвращает логарифм аргумента по основанию 2 |
MOD | Возвращает остаток (по модулю) числа, деленного на другое |
PI | Возвращает значение пи, равное 3.1415
58979 |
POWER | Возвращает число в степени указанного числа |
RAND | Возвращает случайное значение с плавающей запятой |
ROUND | Округляет число до определенной точности |
SIGN | Возвращает знак аргумента |
SIN | Возвращает синус аргумента |
SQRT | Возвращает квадратный корень аргумента |
TAN | Возвращает тангенс аргумента |
TRUNCATE | Усекает до указанного числа десятичных знаков |
Встроенные математические функции SQL
Аргументами математических функций могут быть целые числа, числа с плавающей запятой и т. Д. или строки или капли, которые выглядят как целые или действительные числа.Если какой-либо аргумент имеет значение NULL или представляет собой строку или большой двоичный объект, который нелегко преобразовать в число, тогда функция вернет NULL. Эти функции также возвращают NULL для ошибок домена, таких как попытка извлечь квадратный корень из отрицательного числа или вычислить арккосинус значение больше 1,0 или меньше -1,0.
Значения, возвращаемые этими функциями, часто являются приблизительными. Например, функция pi () возвращает 3,1415
5897931159979634685441851615
acos ( X )
Вернуть арккосинус X. Результат выражается в радианах.
acosh ( X )
Вернуть гиперболический арккосинус X.
asin ( X )
Верните арксинус X. Результат в радианах.
asinh ( X )
Вернуть гиперболический арксинус X.
атан ( X )
Верните арктангенс X. Результат в радианах.
atan2 ( X , Y )
Верните арктангенс Y / X. Результат выражается в радианах. В результат помещается в правильный квадрант в зависимости от признаков X и Y.
атан ( X )
Вернуть гиперболический арктангенс X.
потолок ( X )
потолок ( X )
Верните первое представимое целочисленное значение, большее или равное X. Для положительных значений X эта процедура округляется от нуля. Для отрицательных значений X эта процедура округляется до нуля.
cos ( X )
Верните косинус X.X в радианах.
cosh ( X )
Вернуть гиперболический косинус X.
градусов ( X )
Преобразуйте значение X из радианов в градусы.
эксп. ( X )
Вычислить e (число Эйлера, приблизительно 2,71828182845905) поднято в степень X.
пол ( X )
Вернуть первое представимое целочисленное значение, меньшее или равное X.Для положительных чисел эта функция округляется до нуля. Для отрицательных чисел эта функция округляет от нуля.
лин ( X )
Верните натуральный логарифм X.
журнал ( X )
журнал10 ( X )
журнал ( B , X )
Верните десятичный логарифм для X. Или, для версии с двумя аргументами, вернуть логарифм X по основанию B.
Примечание о совместимости: SQLite работает так же, как PostgreSQL, в том, что функция log () вычисляет десятичный логарифм. Большинство других движков баз данных SQL вычисляют натуральный логарифм для log (). В версии с двумя аргументами log (B, X) первый аргумент - это база, а второй аргумент - это операнд. Это то же, что в PostgreSQL и MySQL, но отличается от SQL Server, который использует второй аргумент как основу и первый аргумент как операнд.
log2 ( X )
Верните логарифм по основанию 2 для числа X.
мод ( X , Y )
Вернуть остаток после деления X на Y. Это похоже на "%" оператор, за исключением того, что он работает для нецелочисленных аргументов.
пи ()
Возвратите приближение для π.
мощность ( X , Y )
мощность ( X , Y )
Вычислить X в степени Y.
радиан ( X )
Преобразуйте X из градусов в радианы.
грех ( X )
Верните синус X. X в радианах.
sinh ( X )
Верните гиперболический синус X.
sqrt ( X )
Верните квадратный корень из X.NULL возвращается, если X отрицательно.
желто-коричневый ( X )
Верните тангенс X. X в радианах.
танх ( X )
Вернуть гиперболический тангенс X.
усечение ( X )
Вернуть представимое целое число от X до 0 (включительно) это наиболее далеко от нуля.Или, другими словами, вернуть целая часть X с округлением до нуля. Функция trunc () аналогична функции потолка (X) и пола (X), за исключением что он всегда округляется до нуля, тогда как потолок (X) и пол (X) округляются вверх и вниз соответственно.
Математические функции в SQL
Функции- это тип объекта в SQL, который содержит набор SQL-запросов. Каждая функция принимает входные данные в виде параметров, выполняет набор операций и возвращает выходные данные. Функция возвращает единственный набор результатов.
SQL Server содержит много типов функций, таких как скалярные, табличные и системные функции.
Системные функции состоят из ряда функций, как показано на следующем рисунке.
Рисунок 1: Функция
Каждая категория системных функций содержит ряд функций, поэтому мы не можем прочитать все функции в одной статье. Сегодня мы узнаем о функциях математической системы.
Функции математической системы
Математическая функция выполняет математическую операцию с числовыми выражениями и возвращает результат операции.SQL Server предоставляет множество математических функций. Эти математические функции специфичны для приложений, использующих тригонометрию, исчисление и геометрию. Арифметические функции, такие как ABS, CEILING, DEGREES, FLOOR, POWER, RADIANS и SIGN, возвращают значение, имеющее тот же тип данных, что и входное значение. Тригонометрические и другие функции, включая EXP, LOG, LOG10, SQUARE и SQRT, приводят свои входные значения к float и возвращают значение float .
SQL Server содержит следующие математические функции:
Рисунок 2: Математическая функция
Для лучшего понимания давайте рассмотрим все предыдущие функции с простыми примерами.
Abs (): Функция Abs () возвращает абсолютное значение. Это означает положительное значение указанного числового выражения. Если мы предоставим положительное число, никаких изменений не произойдет, и результат останется прежним. Если мы указываем отрицательное число, функция Abs () преобразует отрицательное число в положительное. Обрабатываемое значение может быть любым числовым типом данных, и функция возвращает значение того же типа. Функция Abs () не работает для битового типа данных.
Рисунок 3: Abs
Синтаксис
ABS (числовое_выражение)
Пример
- SELECT ABS (-25) AS A1, ABS (25) AS A2, ABS (-25,50) A3, ABS (25,25) AS A4
Рисунок 4: Выход Abs
Пример
- SELECT ABS (-2147483648) A1, ABS (2147483648) A2
Msg 8115, Level 16, State 2, Line 1
Ошибка арифметического переполнения при преобразовании выражения в тип данных int.
Это сообщение об ошибке указывает на то, что если мы предоставим значение любого числового выражения за пределами его диапазона, тогда функция ABS () не будет работать, и SQL Server сгенерирует ошибку.
ACOS (): Математическая функция, которая возвращает угол в радианах, косинус которого является заданным выражением с плавающей запятой, также называемый арккосинусом.
Синтаксис
ACOS (float_expression)
Тип возвращаемого значения функции - float.
Рисунок 5: Тип возвращаемого значения функции
Float_expression
Выражение типа float или типа, который может быть неявно преобразован в float, со значением от -1 до 1.Значения вне этого диапазона возвращают NULL и сообщают об ошибке домена.
Пример
- ВЫБРАТЬ ACOS (-0,5) A1, ACOS (0,5) A2, ACOS (1) A3
Рисунок 6: Выход 2
Пример
- SELECT ACOS (1.2) A1, ACOS (0.5) A2, ACOS (1) A3
Сообщение 3623, уровень 16, состояние 1, строка 1
Произошла недопустимая операция с плавающей запятой.
В предыдущем примере мы использовали 1.2 в качестве входных данных для функции ACOS () и находится за пределами диапазона функции ACOS (), поэтому она генерирует сообщение об ошибке.
ASIN (): Функция ASIN () возвращает угол в радианах, синус которого является указанным выражением с плавающей запятой. Это также называется арксинусом. Тип возвращаемого значения - Float.
Синтаксис
ASIN (float_expression)
float_expression
Выражение типа float или типа, который может быть неявно преобразован в float, со значением от -1 до 1.Значения вне этого диапазона возвращают NULL и сообщают об ошибке домена.
Рисунок 7: ASIN
Пример
- ВЫБРАТЬ ASIN (0,5) A1, ASIN (0,8) A2, ASIN (1) A3
Рисунок 8: Выход 3
Пример
- / * значение @angle вне диапазона
- , поэтому функция ASIN выдает ошибку * /
- ЗАЯВИТЬ @angle float
- НАБОР @angle = -1.01
- SELECT 'Угол ASIN:' + CONVERT (varchar, ASIN (@angle))
- GO
Сообщение 3623, уровень 16, состояние 1, строка 5
Произошла недопустимая операция с плавающей запятой.
ATAN (): Функция ATAN () возвращает угол в радианах, тангенс которого является заданным выражением с плавающей запятой. Это также называется арктангенсом. Тип возвращаемого значения функции - float.
Синтаксис
ATAN (float_expression)
float_expression: Выражение типа float или типа, который может быть неявно преобразован в float.
Рисунок 9: ATAN
Пример
- SELECT ATAN (45) A1, ATAN (55) A2, ATAN (-25) A3
Рисунок 10:
ATN2 (): функция ATN2 () возвращает угол в радианах между положительной осью x и лучом от начала координат до точки (y, x), где x и y - значения двух указанных выражений с плавающей запятой. Тип возвращаемого значения функции - float.
Синтаксис
ATN2 (float_expression, float_expression)
Рисунок 11: ATN2
Float_expression: Выражение типа данных с плавающей запятой.
Пример
- ВЫБРАТЬ ATN2 (45,45) A1, ATN2 (35,148) A2, ATN2 (88,345) A3
Рисунок 12: Выход ATN2
CEILING (): Функция CEILING () возвращает наименьшее целое число, большее или равное указанному числовому выражению.Тип возвращаемого значения функции - float.
Синтаксис
CEILING (numeric_expression)
numeric_expression
Является выражением категории точного числового или приблизительного числового типа данных, за исключением битового типа данных.
Рисунок 13: ПОТОЛОК
Пример
- ВЫБРАТЬ ПОТОЛОК (124,45) A1, ПОТОЛОК (-124,15) A2, ПОТОЛОК (124) A3
Рисунок 14: Выход потолка
COS (): Функция COS () возвращает тригонометрический косинус указанного угла в радианах в указанном выражении.Другими словами, он возвращает косинус угла в радианах. Тип возвращаемого значения функции - float.
Синтаксис
COS (float_expression)
Рисунок 15: Cos
Float_expression
Является выражением типа float.
Пример
- SELECT COS (1.046) A1, COS (0) A2, COS (0.785) A3
Рисунок 16:
Теперь мы возьмем тот же пример для угла 60, 0 и 45 градусов.
- ВЫБРАТЬ COS (60 * 3,14 / 180) A1, COS (0) A2, COS (45 * 3,14 / 180) A3
Рисунок 17: Выход Cos 2
COT (): The COT () Функция возвращает тригонометрический котангенс указанного угла в радианах в указанном выражении с плавающей запятой. Другими словами, он возвращает котангенс угла в радианах. Тип возвращаемого значения функции - float.
Синтаксис
COT (float_expression)
Рисунок 18: Cot
Float_expression
Выражение типа float или типа, который может быть неявно преобразован в float.
Пример
- ВЫБРАТЬ COT (124) A1, COT (-45) A2, COT (78,45) A3
Рисунок 19: Выходные данные кроватки
DEGREES (): Функция DEGREES () возвращает соответствующий угол в градусах для угла, указанного в радианах. Тип возвращаемого значения DEGREES () - тот же тип, что и numeric_expression.
Синтаксис
DEGREES (numeric_expression)
Рисунок 20: Degrees
numeric_expression
Является выражением категории точных числовых или приблизительных числовых данных, за исключением типа данных бит.
Пример
- ВЫБОР ГРАДУСОВ (PI ()) A1, ГРАДУСОВ (PI () / 2) A2, ГРАДУСОВ (PI () / 4) A3
Рисунок 21: Выход градусов
EXP () : Функция EXP () возвращает экспоненциальное значение указанного выражения с плавающей запятой. 10
Значение e = 22/7 = 2.71 приблизительно
FLOOR (): Функция FLOOR () возвращает наибольшее целое число, меньшее или равное указанному числовому выражению. Функция FLOOR () возвращает тот же тип, что и numeric_expression.
Синтаксис
FLOOR (numeric_expression)
Рисунок 24: Floor
numeric_expression
Является выражением категории точного числового или приблизительного числового типа данных, за исключением типа данных бит.
Пример
- ВЫБРАТЬ ЭТАЖ (-124,14) A1, ЭТАЖ (124) A2, ЭТАЖ (124,15) A3
Рисунок 25: Выходные данные этажа
LOG (): Функция LOG () возвращает натуральный логарифм указанного выражения с плавающей запятой в SQL Server. тип возвращаемого значения функции - float.
Синтаксис
LOG (float_expression [, base])
По умолчанию значение основания - «e», другими словами 22/7.
Рисунок 26: Журнал
float_expression: Выражение типа float или типа, который можно неявно преобразовать в float.
base: Необязательный целочисленный аргумент, задающий основание для логарифма.
Пример
- SELECT LOG (12) A1, LOG (25) A2, LOG (100) A3
Рисунок 27: Выход журнала
- SELECT LOG (49,7) Base7, LOG (125,5) Base5, LOG (64,4) Baes4
Рисунок 28: Выход журнала 2
LOG10 (): the Функция LOG10 возвращает десятичный логарифм указанного выражения с плавающей запятой.Тип возвращаемого значения функции - float.
Синтаксис
LOG10 (float_expression)
Рисунок 29: Log 10
float_expression
Выражение типа float или типа, который может быть неявно преобразован в float.
Пример
- SELECT LOG10 (1000) A1, LOG10 (10000) A2, LOG10 (10050) A3
Рисунок 30: log10 Выход
PI (): Функция PI возвращает постоянное значение PI.Тип возвращаемого значения - это постоянное значение с плавающей запятой.
Синтаксис
PI ()
Рисунок 31: Pi
Пример
- SELECT PI () A1, PI () * 2 A2, PI () * 3 A3
Рисунок 32: Выход Pi
POWER (): Функция POWER возвращает значение указанного выражения в указанная мощность. Тип возвращаемого значения - float.
Синтаксис
POWER (float_expression, y)
Рисунок 33: Power
float_expression: Это выражение типа float или типа, который может быть неявно преобразован в float.
y: Степень, в которую нужно поднять float_expression. y может быть выражением категории точного числового или приблизительного числового типа данных, за исключением битового типа данных.
Пример
- ВЫБРАТЬ МОЩНОСТЬ (2,3) A1, МОЩНОСТЬ (5,5) A2, МОЩНОСТЬ (4,4) A3
Рисунок 34: Выходная мощность
РАДИАНЫ (): Функция РАДИАНЫ возвращает радианы, когда вводится числовое выражение в градусах. Тип возвращаемого значения функции - float.
Синтаксис
РАДИАНЫ (numeric_expression)
Рисунок 35: Radians
numeric_expression
Является выражением категории точного числового или приблизительного числового типа данных, за исключением битового типа данных.
Пример
- ВЫБРАТЬ РАДИАНЫ (180) Приблизительно, РАДИАНЫ (180,0) Точно, РАДИАНЫ (60) Приблизительно, РАДИАНЫ (60,0) Точно
Рисунок 36: Выходные радианы
RAND (): Функция RAND возвращает псевдо- случайное значение с плавающей запятой от 0 до 1, исключая.Тип возвращаемого значения функции Rand - float.
Синтаксис
RAND ([seed])
Рисунок 37: Rand
Рисунок 38: Rand2
seed: Целочисленное выражение (tinyint, smallint или int), которое дает начальное значение. Если начальное значение не указано, ядро СУБД SQL Server назначает начальное значение случайным образом. Для указанного начального значения возвращаемый результат всегда один и тот же.
Пример
- SELECT RAND () A1, RAND () A2, RAND () A3
Рисунок 39: Seed
- SELECT RAND (2) A1, RAND (2) A2, RAND (2) A3
Рисунок 40: Seed2
ROUND (): Функция ROUND возвращает числовое значение, округленное до указанной длины или точность.Тип возвращаемого значения функции такой же, как и у числового выражения.
Синтаксис
ROUND (numeric_expression, length [, function])
Рисунок 41: Round
Рисунок 42: Round2
numeric_expression: Является выражением точного числового или приближенного категория числового типа данных, за исключением битового типа данных.
длина: Число десятичных знаков, округленное до.Это значение должно быть положительным или отрицательным целым числом. Если этот параметр не указан, функция ОКРУГЛ. Округлит число до 0 десятичных знаков. Если он положительный, то десятичная часть числа округляется, а если отрицательная, то число округляется слева от десятичной точки.
функция (необязательно): Операция может принимать значение 0 или любое другое числовое значение. Когда он равен 0 (или этот параметр опущен), функция ROUND округляет результат до количества decimal_places.Если операция - любое значение, отличное от 0, функция ОКРУГЛ усекает результат до количества десятичных разрядов.
Пример
- SELECT ROUND (225.715, 2) Round_ UNION all / * результат округляется, так как третий параметр опущен * /
- SELECT ROUND (225.715, 2, 0) Round_ UNION ALL / * результат округляется, так как третий параметр равен 0 * /
- SELECT ROUND (225.715, 2, 1) Round_ UNION ALL / * результат усечен, поскольку третий параметр не равен нулю * /
- ВЫБРАТЬ КРУГЛЫЙ (225.715, 1) Round_ UNION ALL / * результат округляется, так как 3-й параметр опущен * /
- SELECT ROUND (225.715, 0) Round_ UNION ALL / * результат округляется, так как третий параметр опущен * /
- SELECT ROUND (225.715, -1) Round_ UNION ALL / * результат округляется, так как третий параметр опущен * /
- SELECT ROUND (225.715, -2) Round_ UNION ALL / * результат округляется, так как третий параметр опущен * /
- SELECT ROUND (567.655, -2) Round_ UNION ALL / * результат округляется, так как третий параметр опущен * /
- ВЫБРАТЬ КРУГЛЫЙ (512.566,0) Round_ UNION ALL / * результат округляется, так как 3-й параметр опущен * /
- SELECT ROUND (512.566, -1, 0) Round_ UNION ALL / * результат усечен, поскольку третий параметр не равен нулю * /
- SELECT ROUND (519.566, -1, 2) Round_ UNION ALL / * результат усечен, поскольку третий параметр не равен нулю * /
- SELECT ROUND (519.566, -4, 2) Round_ / * результат будет равен нулю, потому что значение Round Place больше, чем общая длина числа * /
Рисунок 43: Выход функции
SIGN (): Функция SIGN возвращает положительный (+1), ноль (0) или отрицательный (-1) знак указанного выражения.Тип возвращаемого значения функции такой же, как и у числового выражения.
Синтаксис: SIGN (numeric_expression)
Рисунок 44: Sign
numeric_expression
Является выражением категории точного числового или приблизительного числового типа данных, за исключением битового типа данных.
Пример
- SELECT SIGN (-32.12) A1, SIGN (123.12) A2, SIGN (0.0) A3
Рисунок 45: Выход знака
SIN (): Функция SIN возвращает тригонометрический синус указанного угла, в радианах и в приблизительном числовом выражении с плавающей запятой.Тип возвращаемого значения функции - float.
Синтаксис
SIN (float_expression)
Рисунок 46: Sin
float_expression: Это выражение типа float или типа, который можно неявно преобразовать в float.
Пример
- SELECT SIN (2.5) A1, SIN (-1.5) A2, SIN (3.0) A3
Рисунок 47: Выход Sin
SQRT (): Функция SQRT возвращает квадратный корень из указанного значения с плавающей запятой .Тип возвращаемого значения функции - float.
Синтаксис
SQRT (float_expression)
Рисунок 48: Sqrt
float_expression: Выражение типа float или типа, который может быть неявно преобразован в float.
Пример
- ВЫБРАТЬ SQRT (9) A1, SQRT (25) A2, SQRT (45) A3
Рисунок 49: Выходные данные Sqrt
SQUARE (): Функция SQUARE возвращает квадрат указанного значения с плавающей запятой.Тип возвращаемого значения функции - float.
Синтаксис
SQUARE (float_expression)
Рисунок 50: Square
float_expression
Выражение типа float или типа, который может быть неявно преобразован в float.
Пример
- ВЫБРАТЬ КВАДРАТ (4) A1, КВАДРАТ (6.3) A2, КВАДРАТ (-9) A3
Рисунок 51: Выходной квадрат
TAN (): Функция TAN возвращает тангенс входного выражения.Тип возвращаемого значения функции - float.
Синтаксис
TAN (float_expression)
Рисунок 52: Tan
float_expression: Выражение типа float или типа, который может быть неявно преобразован в float, интерпретируемый как количество радиан .
Пример
- SELECT TAN (124) A1, TAN (3.12) A2, TAN (-12.12) A3
Рисунок 53: tan output
Я надеюсь, что эта статья поможет вам понять математические функции SQL Server.
Математические функции и операторы - Справочные материалы по базе данных SQL
Математические операторы предусмотрены для многих Типы PostgreSQL. Для типов без общие математические соглашения для всех возможных перестановок (например, типы даты / времени) мы опишите фактическое поведение в следующих разделах.
Таблица 6-2 показывает доступные математические операторы.
Таблица 6-2. Математические операторы
Название | Описание | Пример | Результат |
---|---|---|---|
+ | добавление | 2 + 3 | 5 |
вычитание | 2 - 3 | -1 | |
* | умножение | 2 * 3 | 6 |
/ | деление (целочисленное деление усекает результаты) | 4/2 | 2 |
% | по модулю (остаток) | 5% 4 | 1 |
^ | возведение в степень | 2.3,0 | 8 |
| / | квадратный корень | | / 25,0 | 5 |
|| / | кубический корень | || / 27,0 | 3 |
! | факториал | 5! | 120 |
!! | факториал (префиксный оператор) | !! 5 | 120 |
@ | абсолютное значение | @ -5.0 | 5 |
и | двоичный И | 91 и 15 | 11 |
| | двоичный OR | 32 | 3 | 35 |
# | двоичный XOR | 17 # 5 | 20 |
~ | двоичный НЕ | ~ 1 | -2 |
<< | двоичный сдвиг влево | 1 << 4 | 16 |
>> | двоичный сдвиг вправо | 8 >> 2 | 2 |
«Бинарные» операторы также доступны для бита строковые типы BIT и BIT VARYING, как показано в Таблице 6-3.Аргументы битовой строки для и , | , г. и # должны быть одинаковой длины. Когда немного сдвигая, исходная длина струны сохраняется, как показано в таблице.
Таблица 6-3. Бинарные операторы битовой строки
Пример | Результат |
---|---|
B'10001 '& B'01101' | 00001 |
B'10001 '| B'01101 ' | 11101 |
B'10001' # B'01101 ' | 11110 |
~ B'10001' | 01110 |
B'10001 '<< 3 | 01000 |
B'10001 '>> 2 | 00100 |
Таблица 6-4 показывает доступные математические функции.В таблице дп обозначает двойную точность. Многие из этих функций предоставляются в нескольких формах с разными типами аргументов. Если не указано иное, любая заданная форма функции возвращает то же самое. тип данных в качестве аргумента. Функции, работающие с данными двойной точности, в основном реализован поверх библиотеки C хост-системы; точность и поведение в поэтому граничные случаи могут различаться в зависимости от хост-системы.
Таблица 6-4. Математические функции
Функция | Тип возврата | Описание | Пример | Результат | ||
---|---|---|---|---|---|---|
abs ( x ) 64 x 915 | абсолютное значение | абс (-17.4) | 17,4 | |||
cbrt (dp) | dp | cube root | cbrt (27,0) | 3 | ||
ceil (dp или числовой) | (то же как вход) | наименьшее целое число не менее аргумента | ceil (-42,8) | -42 | ||
градусов (dp) | dp | радиан в градусах | градусов (0,5) | 28.6478897565412 | ||
exp (dp или числовой) | (то же, что и входной) | экспоненциальный | exp (1.0) | 2.71828182845905 | ||
этаж (dp или числовой) | как вход) | наибольшее целое число, не превышающее аргумента | этаж (-42,8) | -43 | ||
ln (dp или число) | (то же, что и вход) | натуральный логарифм | ln (2.0) | 0,693147180559945 | ||
log (dp или числовой) | (то же, что и вход) | логарифм по основанию 10 | log (100.0) | 2 | ||
log ( b числовой,
x числовой) | числовой | логарифм по основанию b | log (2.0, 64.0) | 6.0000000000 | ||
mod ( y ,
x ) | (то же, что и типы аргументов) | остаток от y / x | mod (9,4) | 1 | ||
pi () | dp | Константа «Пи» | пи () | 3.141558979 | ||
pow ( x dp,
e dp) | dp | увеличить число до степени e | pow (9.0, 3.0) | 729 | ||
pow ( x числовое,
e numeric) | numeric | возвести число в степень e | pow (9.0, 3.0) | 729 | ||
радиан (dp) | dp | градусов в радианы | радиан (45.0) | 0,785398163397448 | ||
случайное () | dp | случайное значение от 0,0 до 1,0 | случайное () | |||
круглое (dp или числовое) | ( то же, что и ввод) | округление до ближайшего целого | округление (42,4) | 42 | ||
округление ( v числовое, s целое) | числовое | округленное до s десятичное мест | раунд (42.4382, 2) | 42,44 | ||
знак (dp или числовой) | (то же, что и ввод) | знак аргумента (-1, 0, +1) | знак (-8,4) | -1 | ||
sqrt (dp или числовой) | (то же, что и ввод) | квадратный корень | sqrt (2.0) | 1.4142135623731 | ||
trunc (dp или числовой ) | (то же, что и входной) | усечение до нуля | усечение (42.8) | 42 | ||
усечение ( v числовое, с целое) | числовое | усечение до с десятичных знаков | усечение (42.4382, 2) 3 | 42.4382, 2) 3 | 42.4382, 2) 3 |
Наконец, в таблице 6-5 показаны доступные тригонометрические функции. Все тригонометрические функции принимать аргументы и возвращать значения типа double точность.
Таблица 6-5. Тригонометрические функции
Функция | Описание |
---|---|
acos ( x ) | обратный косинус |
asin ( x ) asin ( x ) | |
atan ( x ) | обратный тангенс |
atan2 ( x ,
y ) | арктангенс x / y |
cos ( x ) | косинус |
детская кроватка ( x ) | котангенс |
sin () | синус |
желто-коричневый ( x ) | тангенс |
Математические функции SQL
SQL Server предоставляет различные математические функции SQL, которые позволяют нам выполнять базовые математические функции.Например, вы можете использовать математические функции SQL, чтобы найти элементарное экспоненциальное значение, квадратный корень, пол, округление, логарифмические и тригонометрические функции.
Математические функции SQL
Помимо основных математических операторов, которые мы обсуждали в учебнике по арифметическим операторам SQL Server, существуют стандартные и общие математические функции. Эти математические функции SQL позволяют манипулировать числовыми данными, что имеет решающее значение при обработке данных.
Следующая таблица покажет вам список математических функций в SQL Server.Итак, перейдите по ссылкам, чтобы просмотреть руководство по математическим функциям SQL Server.
Математические функции SQL | Описание |
---|---|
ABS | Возвращает абсолютное значение или абсолютное положительное значение. |
ACOS | Он вернет значение тригонометрического дугового косинуса Заданного значения |
ASIN | Эта математическая функция возвращает значение тригонометрического синуса дуги Заданного значения |
ATAN | Она вернет значение тригонометрическое значение тангенса дуги данного значения |
ATN2 | Используется для возврата угла (в радиусе) от оси X к указанной точке (y, x) |
CEILING | Этот математический код SQL функция возвращает наименьшее значение, которое больше или равно указанному выражению или заданному значению. |
COS | Используется для возврата значения тригонометрического косинуса Заданного значения |
COT | Используется для возврата значения тригонометрического котангенса Заданного значения |
ГРАДУСОВ | Используется для преобразования указанного радиантного угла в эквивалентный угол, измеренный в градусах. |
EXP | Возвращает E в степени заданного значения, где E - число Эйлера, примерно равное 2.71828. |
FLOOR | Эта математическая функция SQL возвращает наибольшее целочисленное значение, которое меньше или равно заданному выражению или заданному значению. |
LOG | Он вычислит натуральное логарифмическое значение данного числа с основанием E, где E - число Эйлера, равное 2,71828. |
LOG10 | Используется для вычисления десятичного логарифмического значения данного числа. |
PI | Эта математическая функция SQL возвращает значение пирога, которое приблизительно равно 3.14 |
POWER | Используется для возврата мощности указанного пользователем выражения или значения. |
РАДИАНЫ | Используется для преобразования указанного угла в градусах в эквивалентный угол, измеренный в радианах |
RAND | Эта математическая функция возвращает положительное значение, и значение будет больше или равно 0,0 и меньше 1,0 |
ОКРУГЛ. | Используется для округления указанного выражения или отдельного числа до ближайшего числового значения. |
SIGN | Возвращает знак данного аргумента, результат может быть положительным (+), отрицательным (-) или нулевым (0). |
SIN | Используется для возврата значения тригонометрического синуса Заданного значения |
SQRT | Эта математическая функция SQL находит квадратный корень из указанного выражения или отдельного числа |
SQUARE | Он используется для возврата квадрата указанного выражения или отдельного числа |
TAN | Он возвращает тригонометрическое значение тангенса данного значения |
Из указанных выше математических функций SQL все арифметические функции такие как ABS, DEGREES, CEILING, FLOOR, POWER, SIGN и RADIANS возвращают результат с тем же типом данных, что и входное значение.
Тригонометрические и другие функции, включая SQL Server EXP, SQUARE, SQRT, LOG10 и LOG, будут преобразовывать свои входные значения в тип данных FLOAT и возвращать результат как значение FLOAT.
Главная > Функции > Математические функции SQL Server | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Математические функции SQL Server | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|