русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-24; просмотров: 1136; Нарушение авторских прав


Возможные решения

Задания

Тип столбца Null

В этой лекции мы уже встречались с типом NULL. Теперь рассмотрим его подробнее.

Тип столбца NULL является специальным значением. Чтобы вставить значение NULL, удалите просто имя столбца из оператора INSERT. Столбцы содержат NULL по умолчанию, если только не определены как NOT NULL. Значение null может использоваться для целочисленных, а также текстовых или двоичных данных.

NULL нельзя сравнивать с помощью арифметических операторов. Сравнение для NULL можно делать с помощью IS NULL или IS NOT NULL.

select e_id, childrenfrom employee_perwhere children IS NOT NULL;

Результат запроса представлен на рис. 9.18.


Рис. 9.18. Сотрудники, имеющие детей

Приведенная выше команда выводит идентификаторы и количество детей сотрудников, у которых есть дети.

  1. Найти и вывести идентификаторы и имена супругов всех сотрудников, которые состоят в браке.
  2. Изменить предыдущее задание так, чтобы вывод был отсортирован по именам супругов.
  3. Сколько имеется сотрудников каждого пола (мужчин и женщин)?
  4. Сколько сотрудников состоят в браке, и сколько холостых?
  5. Найдите общее число детей.
  6. Сделайте уникальные группы по количеству детей и определите число детей каждой группы. Отсортируйте вывод групп по убыванию по количеству детей.
1. mysql> select e_id, s_name2. -> from employee_per3. -> where m_status = 'Y';

4. или

5. mysql> select e_id, s_name6. -> from employee_per7. -> where s_name IS NOT NULL;8. mysql> select e_id, s_name9. -> from employee_per10. -> where m_status = 'Y'11. -> ORDER BY s_name;12. 13. 14. mysql> select e_id, s_name15. -> from employee_per16. -> where s_name IS NOT NULL17. -> ORDER BY s_name;18. mysql> select sex, count(*)19. -> from employee_per20. -> GROUP BY sex;21. mysql> select m_status, count(*)22. -> from employee_per23. -> GROUP BY m_status;24. mysql> select sum(children) from employee_per;25. mysql> select children, count(*) AS26. -> число from employee_per27. -> GROUP BY children28. -> ORDER BY number DESC;

 



В этой лекции рассмотрим команды 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', 'ej1', '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(строка, длина, строка-заполнитель).


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.253 сек.