База Данных MySQL Функции MySQL

MySQL имеет множество встроенных функций.

Эта ссылка содержит строку, числовые, Дата и расширенные функции в MySQL.

Функции Описание
ASCII Возвращает код числа, представляющий конкретный символ
CHAR_LENGTH Возвращает длину указанной строки (в символах)
CHARACTER_LENGTH Возвращает длину указанной строки (в символах)
CONCAT Объединяет два или более выражений вместе
CONCAT_WS Объединяет два или более выражений вместе и добавляет разделитель между ними
FIELD Возвращает положение значения в списке значений
FIND_IN_SET Возвращает положение строки в списке строк
FORMAT Форматирует число как формат «#, # # #. # #», округляя его до определенного числа десятичных разрядов
INSERT Вставляет подстроку в строку в заданной позиции для определенного числа символов
INSTR Возвращает позицию первого вхождения строки в другую строку
LCASE
Преобразует строку в нижний регистр
LEFT Извлекает подстроку из строки (начиная с левого)
LENGTH Возвращает длину указанной строки (в байтах)
LOCATE Возвращает позицию первого вхождения подстроки в строку
LOWER Преобразует строку в нижний регистр
LPAD Возвращает строку, которая заполнена с заданной строкой до определенной длины
LTRIM Удаление начальных пробелов из строки
MID Извлекает подстроку из строки (начиная с любой позиции)
POSITION Возвращает позицию первого вхождения подстроки в строку
REPEAT Повторяет строку указанное количество раз
REPLACE Заменяет все вхождения указанной строки
REVERSE Изменяет строку и возвращает результат
RIGHT Извлекает подстроку из строки (начиная справа)
RPAD Возвращает строку, которая имеет правую прокладку с указанной строкой до определенной длины
RTRIM Удаляет замыкающие пробелы из строки
SPACE Возвращает строку с заданным количеством пробелов
STRCMP Проверяет, совпадают ли две строки
SUBSTR Извлекает подстроку из строки (начиная с любой позиции)
SUBSTRING Извлекает подстроку из строки (начиная с любой позиции)
SUBSTRING_INDEX Возвращает подстроку строки перед числом вхождений разделителя
TRIM Удаление начальных и конечных пробелов из строки
UCASE Преобразует строку в верхний регистр
UPPER Преобразует строку в верхний регистр

html5css.ru

Функции MySQL — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

Это учебное пособие объясняет, как создавать и удалять функции в MySQL с синтаксисом и примерами.

Определение

В MySQL функция — это хранимая программа, в которую вы можете передавать параметры и возвращать значение.

Создать функцию (create function)

Как и на других языках программирования, вы можете создавать свои собственные функции в MySQL.

Синтаксис

Синтаксис создания функции в MySQL:

CREATE FUNCTION function_name [ (parameter datatype [, parameter datatype]) ]
RETURNS return_datatype
BEGIN
declaration_section
executable_section
END;

Параметры или аргументы

function_name — наименование функции в MySQL
parameter — один или несколько параметров передаются в функцию. При создании функции все параметры считаются параметрами IN (не OUT или IN OUT), где параметры могут ссылаться на функцию, но не могут быть перезаписаны функцией.
return_datatype — тип данных возвращаемого значения функции.
declaration_section — место в функции, где вы объявляете локальные переменные.
executable_section — место в функции, в которой вы создаете код функции.

Пример

Рассмотрим пример, как создать функцию в MySQL:

DELIMITER // CREATE FUNCTION FunctCalc ( starting_value INT ) RETURNS INT BEGIN DECLARE income INT; SET income = 0; label1: WHILE income <= 8000 DO SET income = income + starting_value; END WHILE label1; RETURN income; END; // DELIMITER ;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

DELIMITER //

 

CREATE FUNCTION FunctCalc ( starting_value INT )

RETURNS INT

 

BEGIN

 

   DECLARE income INT;

 

   SET income = 0;

 

   label1: WHILE income <= 8000 DO

     SET income = income + starting_value;

   END WHILE label1;

 

   RETURN income;

 

END; //

 

DELIMITER ;

Затем вы можете ссылаться на свою новую функцию следующим образом:

УДАЛИТЬ ФУНКЦИЮ (DROP FUNCTION)

После того, как вы создали функцию в MySQL, вам может понадобиться удалить ее из базы данных.

Синтаксис

Синтаксис удаления функция в MySQL:

DROP FUNCTION [ IF EXISTS ] function_name;

function_name — наименование функции, которую вы хотите удалить.

Пример

Рассмотрим пример, как удалить функцию в MySQL.

В этом примере удаляем функцию под названием FunctCalc.

oracleplsql.ru

Mysql функции. Функции MySQL

Внимание! Данная работа построена на основе перевода раздела «17.1. Stored Routines and the Grant Tables» описания ПО MySQL 5.0.19, «Reference Manual. It documents MySQL 5.0 through 5.0.19. Document generated on: 2006-01-23 (revision:995)»
«Сначала прочти все, а потом пробуй примеры»

Хранимые процедуры представляют собой набор команд SQL, которые могут компилироваться и храниться на сервере. Таким образом, вместо того, чтобы хранить часто используемый запрос, клиенты могут ссылаться на соответствующую хранимую процедуру. Это обеспечивает лучшую производительность, поскольку данный запрос должен анализироваться только однажды и уменьшается трафик между сервером и клиентом. Концептуальный уровень можно также повысить за счет создания на сервере библиотеки функций.

Триггер представляет собой хранимую процедуру, которая активизируется при наступлении определенного события. Например, можно задать хранимую процедуру, которая срабатывает каждый раз при удалении записи из транзакционной таблицы — таким образом, обеспечивается автоматическое удаление соответствующего заказчика из таблицы заказчиков, когда все его транзакции удаляются.

Хранимые программы (процедуры и функции) поддерживаются в MySQL 5.0. Хранимые процедуры — набор SQL -выражений, который может быть сохранен на сервере. Как только это сделано, клиенту уже не нужно повторно передавать запрос, а требуется просто вызвать хранимую программу.

Это может быть полезным тогда, когда:

  • многочисленные приложения клиента написаны в разных языках или работают на других платформах, но нужно использовать ту же базу данных операций
  • безопасность на 1 месте

Хранимые процедуры и функции (подпрограммы) могут обеспечить лучшую производительность потому, что меньше информации требуется для пересылки между клиентом и сервером. Выбор увеличивает нагрузку на сервер БД, но снижает затраты на стороне клиента. Используйте это, если много клиентских машин (таких как Веб-серверы) обслуживаются одной или несколькими БД.

Хранимые подпрограммы также позволяют вам использовать библиотеки функций, хранимые в БД сервера. Эта возможность представлена для многих современных языков программирования, которые позволяют вызывать их непосредственно (например, используя классы).

MySQL следует в синтаксисе за SQL:2003 для хранимых процедур, который уже используется в IBM»s DB2.

От слов к делу…

При создании, модификации, удалении хранимых подпрограмм сервер манипулирует с таблицей mysql.proc

Начиная с MySQL 5.0.3 требуются следующие привилегии:

CREATE ROUTINE для создания хранимых процедур

ALTER ROUTINE необходимы для изменения или удаления процедур. Эта привилегия автоматически назначается создателю процедуры (функции)

EXECUTE привилегия потребуется для выполнения подпрограммы. Тем не менее, автоматически назначается создателю процедуры (функции). Также, по умолчанию, SQL SECURITY параметр для подпрограммы DEFINER , который разрешает пользователям, имеющим доступ к БД вызывать подпрограммы, ассоциированные с этой БД.

Синтаксис хранимых процедур и функций

Хранимая подпрограмма представляет собой процедуру или функцию. Хранимые подпрограммы создаются с помощью выражений CREATE PROCEDURE или CREATE FUNCTION . Хранимая подпрограмма вызывается, используя выражение CALL , причем только возвращающие значение переменные используются в качестве выходных. Функция может быть вызвана подобно любой другой функции и может возвращать скалярную величину. Хранимые подпрограммы могут вызывать другие хранимые подпрограммы.

Начиная с MySQL 5.0.1, загруженная процедура или функция связана с конкретной базой данных. Это имеет несколько смыслов:

  • Когда подпрограмма вызывается, то подразумевается, что надо произвести вызов USE db_name (и отменить использование базы, когда подпрограмма завершилась, и база больше не потребуется)
  • Вы можете квалифицировать обычные имена с именем базы данных. Это может быть использовано, чтобы ссылаться на подпрограмму, которая — не в текущей базе данных. Например, для выполнения хранимой процедуры p или функции f которые связаны с БД test , вы можете сказать интерпретатору команд так: CALL test.p() или test.f() .
  • Когда база данных удалена, все загруженные подпрограммы связанные с ней тоже удаляются. В MySQL 5.0.0, загруженные подпрограммы — глобальные и не связанны с базой данных. Они наследуют по умолчанию базу данных из вызывающего оператора. Если USE db_name выполнено в пределах подпрограммы, оригинальная текущая БД будет восстановлена после выхода из подпрограммы (Например текущая БД db_11 , делаем вызов подпрограммы, использующей db_22 , после выхода из подпрограммы остается текущей db_11)

MySQL поддерживает полностью расширения, которые разрешают юзать обычные SELECT выражения (без использования курсоров или локальных переменных) внутри хранимых процедур. Результирующий набор, возвращенный от запроса, а просто отправляется напрямую клиенту. Множественный SELECT запрос генерирует множество результирующих наборов, поэтому клиент должен использовать библиотеку, поддерживающую множественные результирующие наборы.

CREATE PROCEDURE — созд

offlink.ru

База Данных MySQL Функции



MS Access имеет множество встроенных функций.

Эта ссылка содержит строки, числовые, Дата и информационные функции в MS Access.


Функции строки доступа MS

Функции Описание
Asc Возвращает код числа, представляющий конкретный символ
Chr Возвращает символ, основанный на коде номера
Concat with & Объединяет несколько строк в одну строку с оператором &
CurDir Возвращает текущий путь
Format Форматирует строковое выражение
InStr Возвращает позицию первого вхождения строки в другую строку
InstrRev Возвращает позицию первого вхождения строки в другую строку, начиная с конца строки
LCase Преобразует строку в нижний регистр
Left Извлекает подстроку из строки (начиная с левого)
Len Возвращает длину указанной строки
LTrim Удаление начальных пробелов из строки
Mid Извлекает подстроку из строки (начиная с любой позиции)
Replace Заменяет последовательность символов в строке другим набором символов (несколько раз)
Right Извлекает подстроку из строки (начиная справа)
RTrim Удаляет замыкающие пробелы из строки
Space Возвращает строку с заданным количеством пробелов
Split Разделяет строку на подстроки (на основе разделителя) и возвращает результат в виде массива подстрок
Str Возвращает строковое представление числа
StrComp Возвращает целочисленное значение, представляющее результат сравнения строк
StrConv Возвращает преобразованную строку
StrReverse Возвращает строку, символы которой находятся в обратном порядке
Trim Удаление начальных и конечных пробелов из строки
UCase Преобразует строку в верхний регистр


Цифровые функции MS Access

Функции Описание
Abs Возвращает абсолютное значение числа
Atn Возвращает арктангенс числа
Avg Возвращает среднее значение выражения
Cos Возвращает косинус угла
Count Возвращает количество записей в запросе SELECT
Exp Возвращает e, возведенное в n-ую силу
Fix Возвращает целочисленную часть числа
Format Принимает числовое выражение и возвращает его как отформатированную строку
Int Возвращает целочисленную часть числа
Max Возвращает максимальное значение выражения
Min Возвращает минимальное значение выражения
Randomize Позволяет изменить начальное значение, используемое генератором случайных чисел для функции Rnd ()
Rnd Генерирует слу

html5css.ru

База Данных MySQL Функции SQL Server



SQL Server имеет множество встроенных функций.

Эта ссылка содержит строку, числовое значение, дату, преобразование и расширенные функции в SQL Server.


Строковые функции SQL Server

Функции Описание
ASCII Возвращает код числа, представляющий конкретный символ
CHAR Возвращает символ ASCII на основе кода чисел
CHARINDEX Возвращает расположение подстроки в строке
CONCAT Объединяет две или более строк
Concat with + Объединяет две или более строк
DATALENGTH Возвращает длину выражения (в байтах)
LEFT Извлекает подстроку из строки (начиная с левого)
LEN Возвращает длину указанной строки
LOWER Преобразует строку в нижний регистр
LTRIM Удаление начальных пробелов из строки
NCHAR Возвращает символ Юникода на основе кода чисел
PATINDEX Возвращает расположение массива в строке
REPLACE Заменяет последовательность символов в строке другим набором символов
RIGHT Извлекает подстроку из строки (начиная справа)
RTRIM Удаляет замыкающие пробелы из строки
SPACE Возвращает строку с заданным количеством пробелов
STR Возвращает строковое представление числа
STUFF Удаляет последовательность символов из строки, а затем вставляет другую последовательность символов в строку, начиная с указанной позиции
SUBSTRING Извлекает подстроку из строки
UPPER Преобразует строку в верхний регистр


Числовые функции SQL Server

Функции Описание
ABS Возвращает абсолютное значение числа
AVG Возвращает среднее значение выражения
CEILING Возвращает наименьшее целое значение, превышающее или равное числу
COUNT Возвращает число выражения
FLOOR Возвращает наибольшее целочисленное значение, равное или меньшее числа
MAX Возвращает максимальное значение выражения
MIN Возвращает минимальное значение выражения
RAND Возвращает случайное число или случайное число в пределах диапазона
ROUND Возвращает число, округленное до определенного числа десятичных разрядов
SIGN Возвращает значение, указывающее знак числа
SUM Возвращает суммированное значение выражения

Функции даты SQL Server

Функции Описание
CURRENT_TIMESTAMP Возвращает текущую дату и время
DATEADD Возвращает дату после добавления определенного интервала времени/даты
DATEDIFF Возвращает разницу между двумя значениями даты на основе заданного интервала
DATENAME Возв

html5css.ru

MySQL хранимой процедуры против функции, которую я буду использовать, когда? — mysql

Наиболее общая разница между процедурами и функциями заключается в том, что они вызываются по-разному и для разных целей:

  • Процедура не возвращает значение. Вместо этого он вызывается с помощью инструкции CALL для выполнения операции, такой как изменение таблицы или обработка извлеченных записей.
  • Функция вызывается внутри выражения и возвращает одно значение непосредственно вызывающему, которое должно использоваться в выражении.
  • Вы не можете вызывать функцию с помощью инструкции CALL и вы не можете вызвать процедуру в выражении.

Синтаксис для рутинного создания несколько отличается для процедур и функций:

  • Параметры процедуры могут быть определены как входные, выходные или оба. Это означает, что процедура может передавать значения обратно вызывающему, используя выходные параметры. Доступ к этим значениям можно получить в операторах, которые следуют за инструкцией CALL. Функции имеют только входные параметры. В результате, хотя обе процедуры и функции могут иметь параметры, определение параметра процедуры отличается от описания функций для функций.
  • Функция возвращает значение, поэтому в определении функции должно быть предложение RETURNS, чтобы указать тип данных возвращаемого значения. Кроме того, в теле функции должно быть хотя бы одно выражение RETURN, чтобы вернуть значение вызывающему. RETURNS и RETURN не отображаются в определениях процедур.

    • Чтобы вызвать хранимую процедуру, используйте CALL statement. Чтобы вызвать хранимую функцию, обратитесь к ней в выражении. Функция возвращает значение во время оценки выражения.

    • Процедура вызывается с помощью инструкции CALL и может только возвращать значения с использованием выходных переменных. Функция может вызываться изнутри оператора точно так же, как любая другая функция (то есть, вызывая имя функции), и может возвращать скалярное значение.

    • Задание параметра IN, OUT или INOUT действительна только для ПРОЦЕДУРЫ. Для функции FUNCTION параметры всегда считаются параметрами IN.

    Если ключевое слово не задано перед именем параметра, оно по умолчанию является параметром IN. Параметрам для сохраненных функций не предшествуют IN, OUT или INOUT. Все параметры функции рассматриваются как параметры IN.

Чтобы определить хранимую процедуру или функцию, используйте CREATE PROCEDURE или CREATE FUNCTION соответственно:

CREATE PROCEDURE proc_name ([parameters])
 [characteristics]
 routine_body


CREATE FUNCTION func_name ([parameters])
 RETURNS data_type       // diffrent
 [characteristics]
 routine_body

Расширение MySQL для хранимой процедуры (не функций) состоит в том, что процедура может генерировать набор результатов или даже несколько наборов результатов, которые вызывающий выполняет так же, как результат инструкции SELECT. Однако содержимое таких наборов результатов не может быть использовано непосредственно в выражении.

Сохраненные процедуры (ссылаясь как на хранимые процедуры, так и на хранимые функции) связаны с конкретной базой данных, подобно таблицам или представлениям. При удалении базы данных любые сохраненные процедуры в базе данных также отбрасываются.

Хранимые процедуры и функции не используют одно и то же пространство имен. Возможно, в базе данных есть процедура и функция с тем же именем.

В хранимых процедурах можно использовать динамический SQL, но не в функциях или триггерах.

Готовые заявления SQL (PREPARE, EXECUTE, DEALLOCATE PREPARE) могут использоваться в хранимых процедурах, но не в хранимых функциях или триггерах. Таким образом, хранимые функции и триггеры не могут использовать Dynamic SQL (где вы строите операторы как строки, а затем выполняете их). (Динамический SQL в MySQL хранимых процедурах)

Еще несколько интересных отличий между FUNCTION и STORED PROCEDURE:

  • (Этот пункт скопирован из blogpost.) Хранимая процедура представляет собой предварительно скомпилированный план выполнения, поскольку функции не являются. Функция Разработана и скомпилирована во время выполнения. Храни

qaru.site

Дополнительные функции MySQL — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

Функция & Описание
BIN
MySQL функция BIN преобразует десятичное число в двоичное число и возвращает результат в виде строки.
BINARY
MySQL функция BINARY преобразует значение в двоичную строку.
CASE
MySQL функция CASE оценивает условия и возвращать значение при выполнении первого условия.
CAST
MySQL функция CAST преобразует значение из одного типа данных в другой.
COALESCE
MySQL функция COALESCE возвращает первое ненулевое выражение в списке.
CONNECTION_ID
MySQL функция CONNECTION_ID возвращает идентификатор соединения для текущего соединения, которое является уникальным идентификатором среди подключенных клиентов.
CONV
MySQL функция CONV преобразует число из одной числовой базы в другую и возвращает результат в виде строкового значения.
CONVERT
MySQL функция CONVERT преобразует значение из одного типа данных в другой или один набор символов в другой.
CURRENT_USER
MySQL функция CURRENT_USER возвращает имя пользователя и имя хоста для учетной записи MySQL, которая использовалась сервером для аутентификации текущего клиента.
DATABASE
MySQL функция DATABASE возвращает имя базы данных по умолчанию.
IF
MySQL функция IF возвращает одно значение, если условие принимает значение TRUE, или другое значение, если условие принимает значение FALSE.
IFNULL
MySQL функция IFNULL позволяет вам возвращать альтернативное значение, если выражение равно NULL.
ISNULL
MySQL функция ISNULL проверяет, является ли выражение NULL.
LAST_INSERT_ID
MySQL функция LAST_INSERT_ID возвращает первое значение AUTO_INCREMENT, которое было установлено с помощью самой последней инструкции INSERT или UPDATE, которая повлияла на столбец AUTO_INCREMENT.
NULLIF
MySQL функция NULLIF возвращает NULL, если два выражения эквивалентны. В противном случае возвращается первое выражение.
SESSION_USER
MySQL функция SESSION_USER возвращает имя пользователя и имя хоста для текущего пользователя MySQL.
SYSTEM_USER
MySQL функция SYSTEM_USER возвращает имя пользователя и имя хоста для текущего пользователя MySQL.
USER
MySQL функция USER возвращает имя пользователя и имя хоста для текущего пользователя MySQL.
VERSION
MySQL функция VERSION возвращает версию базы данных MySQL.

oracleplsql.ru