База Данных 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