Мегаобучалка Главная | О нас | Обратная связь


Лекция 10. Работа со строками



2019-12-29 189 Обсуждений (0)
Лекция 10. Работа со строками 0.00 из 5.00 0 оценок




В лекции рассматриваются команды MySql, предназначенные для обработки строковых данных

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

В этой лекции рассмотрим команды MySql, предназначенные для обработки строковых данных.

ASCII(строка)

ORD(строка)

Возвращает числовое значение первого символа строки строка. Возвращает 0, если строка является пустой. Возвращает NULL, если строка равна NULL. ASCII() работает с символами в диапазоне кодов от 0 до 255.

mysql> SELECT ASCII('2');

-> 50

 

mysql> SELECT ASCII(2);

-> 50

 

mysql> SELECT ASCII('dx');

-> 100

BIN(N)

Возвращает строковое представление двоичного значения N, где N - длинное целое ( BIGINT ). Это эквивалентно CONV(N, 10,2). Возвращает NULL, если N равно NULL.

mysql> SELECT BIN(12);

-> '1100'

ВIT_LENGTH(строка)

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

mysql> SELECT BIT_LENGTH('text');

-> 32

CHAR(iV,...)

Интерпретирует аргументы как целые и возвращает строку, состоящую из символов с кодами, заданными этими целыми. Значение NULL пропускаются.

mysql> SELECT CHAR(77,121,83,81,'76');

-> 'MySQL'

 

mysql > SELECT CHAR(77,77.3,'77.3');

-> 'МММ'

CHAR_LENGTH(строка)

CHARACTER_LENGTH(строка)

Возвращает длину строки строка, измеренную в символах. Многобайтные символы считаются как один. Это значит, что для строки, состоящей из пяти двухбайтных символов, LENGTH() вернет 10, в то время как CHAR_LENGTH('') вернет 5.

COMPRESS(строка_для_сжатия)

Сжимает строку. Эта функция требует, чтобы MySQL был скомпилирован с библиотекой поддержки сжатия, такой как zlib. В противном случае возвращаемым значением всегда будет NULL.

Содержимое сжатой строки сохраняется следующим образом:

  • Пустая строка сохраняется как пустая строка.
  • Непустая строка сохраняется как четырехбайтовая длина несжатой строки (младший байт идет первым), за которой следует сжатая строка. Если строка завершается пробелом, добавляется дополнительный символ ' . ' во избежание усечения завершающих пробелов, которое имеет место при сохранении в столбцах CHAR или VARCHAR. (Использовать для сохранения сжатых строк столбцы CHAR или VARCHAR не рекомендуется. Взамен лучше применять столбцы BLOB ).

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'



2019-12-29 189 Обсуждений (0)
Лекция 10. Работа со строками 0.00 из 5.00 0 оценок









Обсуждение в статье: Лекция 10. Работа со строками

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (189)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)