Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД MySQL.doc
Скачиваний:
34
Добавлен:
18.04.2019
Размер:
1.45 Mб
Скачать

Concat(строка1, строка2, ...)

Возвращает строку, которая состоит из сцепленных аргументов. Возвращает NULL, если любой из аргументов равенNULL. Принимает один или более аргументов. Числовой аргумент преобразуется в эквивалентную строковую форму.

mysql> SELECT CONCAT('My', 'S', 'QL');

-> 'MySQL'

mysql> SELECT CONCAT('My', NULL, 'QL');

-> NULL

mysql> SELECT CONCAT(14.3);

-> '14.3'

Concat_ws(разделитель, строка1, строка2, ...)

CONCAT_WS означает "Concat With Separator" ("CONCAT с разделителем") и представляет собой особую формуCONCAT() . Первый аргумент - это разделитель для остальных аргументов. Разделитель добавляется между соединяемыми строками. Разделитель может быть строкой, как и остальные аргументы. Если разделитель равенNULL, результат тоже равен NULL. Функция пропускает любые аргументы NULL после разделителя.

mysql> SELECT CONCAT_WS( ',', 'First name', 'Second name' , 'Last Name');

-> 'First name,Second name,Last Name'

Conv(n, основание_начальное, основание_конечное)

Конвертирует числа между разными системами счисления. Возвращает строковое представление числа N, преобразованное из системы счисления с основанием основание_начальное в систему счисления с основаниемоснование_конечное. Возвращает NULL, если любой из аргументов равен NULL. Аргумент N интерпретируется как целое, но может указываться и как целое, и как строка. Минимальное основание системы счисления - 2, максимальное - 36. Если значение основание_конечное отрицательное, N рассматривается как целое со знаком. В противном случае N считается беззнаковым целым. CONV() работает с 64-разрядной точностью.

mysql> SELECT CONV('а',16,2);

-> '1010'

mysql> SELECT CONV('6E',18,8);

-> '172'

mysql> SELECT CONV(-17,10,-18);

-> '-H'

mysql> SELECT CONV(10+'10'+'10'+0xa,10,10);

-> '40'

Elt(n, строка1, строка2, строкаЗ, ...)

Возвращает строка1, если N = 1, строка2, если N = 2, и так далее. Возвращает NULL, если N меньше 1 или больше количества аргументов. ELT() - это дополнение FIELD().

mysql> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo');

-> 'ej'

mysql> SELECT ELT(3, 'ej', 'Heja', 'hej', 'foo');

-> 'hej'

Field(строка, строка1, строка2, строка3, ...)

Возвращает позицию вхождения аргумента строка в список строка1, строка2, строка3, ... Возвращает 0, если вхождение не найдено.

FIELD() - это дополнение ELT().

mysql> SELECT FIELD('еj', 'Hej', 'ej', 'Heja', 'hej1', 'foo');

- > 2

Find_in_set(строка, список_строк)

Возвращает значение от 1 до N, если строка находится в списке строк список_строк, состоящего из N подстрок. Список строк - это строка, состоящая из подстрок, разделенных символом ',' . Возвращает 0, если строка не входит в список строк, или если список_строк — пустая строка.

mysql> SELECT FIND_IN_SET('b','a,b,c,d');

-> 2

HEX(Ч_или_С)

Если Ч_или_С - число, возвращает строковое представление шестнадцатеричного значения N, где N - длинное целое (BIGINT). Это эквивалентно CONV(N,10,16).

Если Ч_или_С - строка, то возвращается шестнадцатеричная строка Ч_или_С, в которой каждый символ преобразован в два шестнадцатеричных разряда.

mysql> SELECT HEX(255);

-> 'FF'

mysql> SELECT HEX('abc');

-> '616263'

INSERT(строка, позиция, длина, новая_строка)

Возвращает строку строка, в которой подстрока длиной длина, начинающаяся с позиции позиция, заменяется строкой новая_строка.

mysql> SELECT INSERT('Quadratic', 3, 4, 'What');

-> 'QuWhattic'

INSTR(строка, подстрока)

Возвращает позицию первого вхождения подстроки подстрока в строку строка. Это то же самое, что двухаргументная форма LOCATE(), только аргументы переставлены местами.

mysql> SELECT INSTR('foobarbar', 'bar');

-> 4

mysql> SELECT INSTR('xbar', 'foobar');

-> 0

LEFT(строка, длина)

Возвращает первые длина символов строки строка.

mysql> SELECT LEFT('foobarbar', 5);

-> 'fooba'

LENGTH(строка)

Возвращает длину строки строка в байтах.

mysql> SELECT LENGTH('text');

-> 4

LOAD_FILE(имя_файла)

Читает файл и возвращает его содержимое в виде строки. Файл должен находиться на сервере и к нему должен указываться полный путь. Кроме того, необходимо иметь привилегию FILE. Файл должен быть доступен по чтению всем, и иметь размер менее max_allowed_packet байт.

Если файл не существует или не может быть прочитан, функция возвращает NULL.

LOCATE(подстрока, строка)

LOCATE(подстрока, строка, позиция)

POSITION(подстрока IN строка)

Первый синтаксис возвращает позицию первого вхождения подстроки подстрока в строку строка. Второй синтаксис возвращает позицию первого вхождения подстроки подстрока в строку строка, начиная с позиции позиция. Если подстрока не входит в строку, возвращается 0.

mysql> SELECT LOCATE('bar', 'foobarbar');

-> 4

mysql> SELECT LOCATE('xbar', 'foobar');

-> 0

mysql> SELECT LOCATE('bar', 'foobarbar',5);

-> 7

LOWER(строка)

LCASE(строка)

Возвращает строку строка, в которой все символы приведены к нижнему регистру в соответствии с текущим набором символов.

mysql> SELECT LOWER('QUADRATICALLY');

-> 'quadratically'

LPAD(строка, длина, строка-заполнитель).

Возвращает строку строка, добавив слева строкой строка-заполнитель до длины длина. Если строка длиннее, чем указано в аргументе длина, возвращается значение, усеченное до длина символов.

mysql> SELECT LPAD('hi',4,'*');

-> '**hi'

mysql> SELECT LPAD('hi',1,'*');

-> 'h'

LTRIM(строка)

Возвращает строку строка с удаленными ведущими пробелами.

mysql> SELECT LTRIM(' barbar');

-> 'barbar'

OCT(N)

Возвращает строковое представление восьмеричного значения N, где N - длинное целое.

Это эквивалент CONV(N,10,8).

Возвращает NULL, если N равно NULL.

mysql> SELECT ОСТ(12);

-> '14'

QUOTE(строка)

Заключает строку в кавычки, чтобы результат можно было использовать как допустимое значение в SQL-операторах. Строка окружается одинарными кавычками, а все вхождения в нее одинарной кавычки - обратной косой чертой ("\").

mysql> SELECT QUOTE("Don't");

-> 'Don\'t'

REPEAT(строка, количество)

Возвращает строку, состоящую из аргумента строка, повторенного количество раз.

mysql> SELECT REPEAT('MySQL', 3);

-> 'MySQLMySQLMySQL'

REPLACE(строка, строка_2, строка_3)

Возвращает строку строка, в которой все вхождения строка_2 заменены на строка_3.

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');

-> 'WwWwWw.mysql.com'

REVERSE(строка)

Возвращает строку строка с обратным порядком символов.

mysql> SELECT REVERSE('abc');

-> 'cba'

RIGHT(строка, длина)

Возвращает длина правых символов строки строка.

mysql> SELECT RIGHT('foobarbar', 4);

-> 'rbar'

RPAD(строка, длина, строка-заполнитель)

Возвращает строку строка, дополненную справа строкой строка-заполнитель до длины длина. Если строка длиннее, чем длина, возвращается значение, усеченное до длина символов.

mysql> SELECT RPAD('hi',5,'?');

-> 'hi???'

mysql> SELECT RPAD('hi',1,'?');

-> 'h'

RTRIM(строка)

Возвращает строку строка с удаленными завершающими пробелами.

mysql> SELECT RTRIM('barbar ');

-> 'barbar'

SOUNDEX(строка)

Возвращает строку, описывающую звучание (soundex) строки строка. Две строки, которые произносятся почти одинаково, должны иметь идентичные строки звучания.

mysql> SELECT SOUNDEX('Hello');

-> 'H400'

mysql> SELECT SOUNDEX('Quadratically' );

-> 'Q36324'

SPACE(N)

Возвращает строку, состоящую из N пробелов.

mysql> SELECT SPACE(6);

-> ' '

SUBSTRING(строка, позиция)

SUBSTRING(строка FROM позиция)

SUBSTRING(строка, позиция, длина)

SUBSTRING(строка FROM позиция FOR длина)

Формы без аргумента длина возвращают подстроку строки строка, начиная с позиции позиция. Формы с аргументомдлина возвращают подстроку строки строка длиной длина символов, начиная с позиции позиция. Формы, использующие FROM, представляют стандартный синтаксис SQL.

mysql> SELECT SUBSTRING('Quadratically',5);

-> 'ratically'

mysql> SELECT SUBSTRING('foobarbar' FROM 4);

-> 'barbar'

mysql> SELECT SUBSTRING('Quadratically',5,6);

-> 'ratica'