KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Виктор Гольцман - MySQL 5.0. Библиотека программиста

Виктор Гольцман - MySQL 5.0. Библиотека программиста

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Виктор Гольцман, "MySQL 5.0. Библиотека программиста" бесплатно, без регистрации.
Перейти на страницу:

• FROM_UNIXTIME(<Unix-время>[,'<Формат>']).

Функция FROM_UNIXTIME() получает в качестве аргумента Unix-время – количество секунд, прошедших с 1 января 1970 г., и возвращает соответствующую дату и время. Например, функция FROM_UNIXTIME(1197451800) возвращает значение 2007-12-12 12:30:00. При необходимости вы можете задать формат возвращаемой даты и/или времени, используя параметры, которые мы перечислили при описании функции DATE_FORMAT().

• UNIX_TIMESTAMP(<Дата>).

Если аргумент функции UNIX_TIMESTAMP() не задан, то она возвращает текущее Unix-время. Если задан аргумент – дата, дата и время либо число в формате YYYYMMDD, YYMMDD, YYYYMMDDHHMMSS или YYMMDDHHMMSS, то функция UNIX_TIMESTAMP() возвращает Unix-время, соответствующее указанной дате. Например, функция UNIX_TIMESTAMP(20071212123000) возвращает значение 1197451800.

• TIMESTAMP('<Дата или дата время>').

Если задан только один аргумент функции TIMESTAMP(), то она возвращает этот аргумент, преобразованный в формат даты и времени. Например, TIMESTAMP('2007-12-12') возвращает значение 2007-12-12 00:00:00.

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

3.5. Символьные функции

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

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

Функция BIT_LENGTH() возвращает длину строки в битах. Например, функция BIT_LENGTH('Крылов') возвращает значение 48 при использовании однобайтовой кодировки и значение 96 при использовании кодировки UTF-8.

• 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('<Строка>',<Позиция>,<Длина>).

Синоним функции SUBSTRING('<Строка>',<Позиция>,<Длина>).

• SUBSTRING_INDEX('<Строка>','<Подстрока>',<Порядковый номер вхождения>).

Если заданный порядковый номер вхождения больше 0, то функция SUBSTRING_INDEX() находит в исходной строке вхождение указанной подстроки с этим порядковым номером (считая от начала строки) и возвращает часть исходной строки, предшествующую этому вхождению. Если же заданный порядковый номер вхождения меньше 0, то вхождения отсчитываются от конца строки и возвращается часть исходной строки, которая следует за этим вхождением. Например, функция SUBSTRING_INDEX('Семь чудес света',' ',2) возвращает значение Семь чудес (подстроку, предшествующую второму пробелу), а функция SUBSTRING_INDEX('Семь чудес света',' ',-2) возвращает значение чудес света (подстроку, следующую за вторым пробелом).

• LEFT('<Строка>',<Длина подстроки>).

Функция LEFT() возвращает начальную подстроку исходной строки, состоящую из указанного количества символов. Например, функция LEFT('Генератор',3) возвращает значение Ген.

• RIGHT('<Строка>',<Длина подстроки>).

Функция RIGHT() возвращает подстроку, состоящую из указанного количества последних символов исходной строки. Например, функция RIGHT('Генератор',3) возвращает значение тор.

• LOCATE('<Подстрока>','<Строка>'[,<Позиция>]).

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*