Чтение онлайн

ЖАНРЫ

MySQL 5.0. Библиотека программиста

Гольцман Виктор

Шрифт:

• CHAR_LENGTH(\'<Строка>\'), CHARACTER_LENGTH(\'<Строка>\').

Возвращают количество символов в строке. Например, функция CHAR_LENGTH(\'Крылов\') возвращает значение 6.

• LENGTH(\'<Строка>\'), OCTET_LENGTH(\'<Строка>\').

Возвращают длину строки (в байтах). Например, функция LENGTH(\'Крылов\') возвращает значение 6 при использовании однобайтовой кодировки и значение 12 при использовании кодировки UTF-8.

• CHAR(<Код 1>,<Код 2>,…,<Код N> [USING <Кодировка>]).

Функция CHAR получает в качестве аргументов коды символов и возвращает

строку, состоящую из этих символов. При необходимости можно явно указать кодировку, сопоставляющую коды символам. Например, функции CHAR(53402,53632,53643,53435,53438,53426 USING utf8) и CHAR(138,224,235,171,174,162 USING cp866) возвращают значение Крылов.

• ORD(\'<Строка>\').

Функция ORD возвращает числовой код первого символа в строке. Например, функция ORD(CHAR(53402,53632,53643,53435,53438,53426 USING utf8)) возвращает значение 53402.

• CONCAT(\'<Строка 1>\',\'<Строка 2>\',…, \'<Строка N>\').

Функция CONCAT возвращает результат объединения своих аргументов. Например, функция CONCAT(\'ООО “Кускус”\',\'Петров\',\'Крылов\') возвращает значение ООО «Кускус»ПетровКрылов.

• CONCAT_WS(\'Разделитель\',\'<Строка 1>\',\'<Строка 2>\',…,\'<Строка N>\').

Функция CONCAT_WS возвращает результат объединения своих аргументов, при этом первый аргумент используется как разделитель. Например, функция CONCAT_WS(\',\',\'ООО “Кускус”\',\'Петров\',\'Крылов\') возвращает значение ООО «Кускус»,Петров,Крылов.

• REPEAT(\'<Строка>\',\'Количество экземпляров, не менее 1\').

Функция REPEAT(\'<Строка>\',<Количество экземпляров>) возвращает строку, в которую исходная строка входит указанное количество раз. Например, функция REPEAT(\'Трижды\',3) возвращает значение ТриждыТриждыТрижды.

• REVERSE(\'<Строка>\').

Функция REVERSE возвращает строку, в которой символы исходной строки расположены в обратном порядке. Например, функция REVERSE(\'наоборот\') возвращает значение торобоан.

• SPACE(<Количество пробелов>).

Функция SPACE возвращает строку, состоящую из указанного количества пробелов. Например, функция SPACE(1) возвращает значение «.».

• ELT(k,\'<Строка 1>\',\'<Строка 2>\',…, \'<Строка N>\').

Функция ELT возвращает строку с порядковым номером k. Например, функция ELT(2,\'ООО «Кускус»\',\'Петров\',\'Крылов\') возвращает значение Петров.

• FIELD(\'<Строка-образец>\',\'<Строка 1>\',\'<Строка 2>\',…,\'<Строка N>\').

Функция FIELD возвращает порядковый номер строки, совпадающей с образцом, и 0, если ни одна из строк 1, 2, …, N не совпадает с образцом. Например, функция FIELD(\'Петров\',\'ООО «Кускус»\',\'Петров\', \'Крылов\') возвращает значение 2.

• FIND_IN_SET(\'<Строка-образец>\',\'<Строка-контейнер>\').

Функция FIND_IN_SET получает в качестве аргумента строку-образец (эта строка не должна содержать запятых) и строку-контейнер вида <Подстрока 1>,<Подстрока 2>,…,<Подстрока N> и возвращает порядковый номер подстроки, совпадающей с образцом, и 0, если ни одна из подстрок 1, 2, …,N не совпадает с образцом или строка-контейнер пустая. Например, функция FIND_IN_SET(\'Петров\',\'ООО

«Кускус»,Петров,Крылов\') возвращает значение 2.

• EXPORT_SET(<Число>,\'<Подстрока для бита 1>\',\'<Подстрока для бита 0>\'[,\'<Разделитель>\'[,<Количество бит>]]).

Функция EXPORT_SET преобразует число в строку, заменяя каждый бит (0 или 1) соответствующей подстрокой, и возвращает полученную строку. Биты рассматриваются в обратном порядке, то есть справа налево. При необходимости можно задать разделитель подстрок (если разделитель не задан, используется запятая), а также максимальное количество битов, которые будут обработаны (недостающие биты рассматриваются как нулевые, «лишние» биты игнорируются, а если количество битов не задано, используется значение 64). Например, функция EXPORT_SET(25,\'Да\',\'Нет\',\':\',7) возвращает значение Да:Нет:Нет:Да:Да:Нет:Нет, поскольку 25 записывается в двоичной системе счисления как 11001.

• MAKE_SET(<Число>,\'<Подстрока 0>\',\'<Подстрока 1>\',…, \'<Подстрока N>\').

Функция MAKE_SET преобразует число в строку: подстрока с порядковым номером k добавляется в строку, если k-й бит равен 1. Биты рассматриваются в обратном порядке, то есть справа налево. Разделителем подстрок служит запятая. Например, функция MAKE_SET(6,\'Я согласен получать новости компании\',\'Я согласен участвовать в опросах\',\'Я согласен участвовать в тестировании продукта\') возвращает значение Я согласен участвовать в опросах, Я согласен участвовать в тестировании продукта, поскольку 6 записывается в двоичной системе счисления как 110.

• INSERT(\'<Строка>\',<Позиция>,<Длина подстроки>,\'<Замещающая подстрока>\').

Функция INSERT возвращает строку, в которой подстрока, начинающаяся с указанной позиции и состоящая из указанного количества символов, заменена заданной подстрокой. Например, функция INSERT(\'ООО “Кускус”\',6,3,\'Кискис\') заменяет подстроку Кус строки ООО «Кускус» подстрокой Кискис и возвращает значение ООО «Кискискус».

• REPLACE(\'<Строка>\',\'<Замещаемая подстрока>\',\'<Замещающая подстрока>\').

Функция REPLACE возвращает строку, в которой вместо замещаемой подстроки подставлена замещающая. Например, функция REPLACE(\'Не имей сто рублей, а имей сто друзей\',\'сто\',\'тысячу\') возвращает значение Не имей тысячу рублей, а имей тысячу друзей.

• SUBSTR(\'<Строка>\',<Позиция>[,<Длина>]), SUBSTRING(\'<Строка>\',<Позиция>[,<Длина>]), SUBSTR(\'<Строка>\' FROM <Позиция>[ FOR <Длина>]), SUBSTRING(\'<Строка>\' FROM <Позиция>[ FOR <Длина>]).

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

Например:

– функция SUBSTR(\'Семь чудес света\',6) возвращает значение чудес света;

– функция SUBSTR(\'Семь чудес света\',6,5) возвращает значение чудес;

– функция SUBSTR(\'Семь чудес света\',-5) возвращает значение света.

• MID(\'<Строка>\',<Позиция>,<Длина>).

Поделиться с друзьями: