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


SUBSTRING_INDEX(строка, разделитель, количество)



2016-09-16 273 Обсуждений (0)
SUBSTRING_INDEX(строка, разделитель, количество) 0.00 из 5.00 0 оценок




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

Примерыmysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);-> 'www.mysql'mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);-> 'mysql.com'

TRIM([[BOTH | LEADING | TRAILING] [удаляемая_строка] FROM] строка)

Возвращает строку строка с удаленными префиксами и/или суффиксами удаляемая_строка. Если не указано ни BOTH, ни LEADING, ни TRAILING, подразумевается BOTH. Если не указано удаляемая_строка, удаляются пробелы.

Примерыmysql> SELECT TRIM(' bar '); -> 'bar'mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx'mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); -> 'bar'mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); -> 'barx'

 

Функции сравнения строк

 

Обычно если любое выражение в сравнении строк чувствительно к регистру, то сравнение также чувствительно к регистру.

выражение LIKE шаблон [ESCAPE 'символ-отмены']

Проверка на соответствие шаблону, заданному простыми регулярными выражениями SQL. Возвращает 1 (TRUE) или 0 (FALSE). Если выражение или шаблон равны NULL, возвращает NULL.

В шаблонах LIKE можно использовать следующие два символа:

"%" – соответствие любому числу символов, включая нуль символов.

"_" – соответствие любому одному символу.

Примеры:mysql> SELECT 'David!' LIKE 'David_'; -> 1mysql> SELECT 'David!' LIKE '%D%v%'; -> 1

Если требуется исследовать строку на вхождения в неё шаблонных символов (% или _), то шаблонный символ следует предварить экранирующим символом (ESCAPE). Если экранирующий символ не указан явно, то по умолчанию им считается символ '\':

"\%" – соответствует одному символу '%'

"\_" – соответствует одному символу '_'

Примеры:mysql> SELECT 'David!' LIKE 'David\_'; -> 0mysql> SELECT 'David_' LIKE 'David\_'; -> 1

Для указания конкретного экранирующего символа используется выражение ESCAPE:

mysql> SELECT 'David_' LIKE 'David|_' ESCAPE '|'; -> 1

В следующих двух примерах показано, что сравнение строк производится без учета регистра, если ни один из операндов не является строкой с двоичными данными:

mysql> SELECT 'abc' LIKE 'ABC'; -> 1mysql> SELECT 'abc' LIKE BINARY 'ABC'; -> 0

В функции LIKE допускаются числовые выражения.

mysql> SELECT 10 LIKE '1%'; -> 1

Expr REGEXP pat; expr RLIKE pat

Выполняет сравнение строкового выражения expr с шаблоном pat. Шаблон может представлять собой расширенное регулярное выражение. Возвращает 1, если expr соответствует pat, в противном случае - 0.

Примеры:mysql> SELECT 'Monty!' REGEXP 'm%y%%'; -> 0mysql> SELECT 'Monty!' REGEXP '.*'; -> 1mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line'; -> 1mysql> SELECT "a" REGEXP "A", "a" REGEXP BINARY "A"; -> 1 0mysql> SELECT "a" REGEXP "^[a-d]"; -> 1

STRCMP(expr1,expr2)

Функция STRCMP() возвращает: 0, если строки идентичны, -1 - если первый аргумент меньше второго (в соответствии с имеющимся порядком сортировки), и 1 - в остальных случаях:

Примеры:mysql> SELECT STRCMP('text', 'text2'); -> -1mysql> SELECT STRCMP('text2', 'text'); -> 1mysql> SELECT STRCMP('text', 'text'); -> 0

Контрольные вопросы

1. Напишите функцию получения остатка от деления числа1 на число2.

2. Какие функции выделяют из даты значение года или месяца?

3. Какие операторы используются для определения наличия значение NULL?

4. Результат SELECT CONCAT('My', NULL, 'QL');?

5. Какое значение вернет CHAR_LENGTH('') для строки, состоящей из пяти двухбайтных символов?

6. Выведите первые пять символов строки «abcdefg»?

7. Какая функция приводит символы к нижнему регистру?

8. Выведите фамилию Иванов из строки ‘ФИО_ИВАНОВ’

9. Чем отличаются функции CHAR_LENGTH(строка) и LENGTH(строка)?

10. С помощью какой функции можно проверить идентичность строк?

11. Напишите результат выполнения функции: Select Month(‘2015-07-08’);

12. Как вывести сегодняшнюю дату?

Лабораторная работа 4

ВЫБОР ДАННЫХ из ТАБЛИЦ. Вложенные запросы. Объединение таблиц.

Цель работы

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

Содержание работы

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

2. Вывести все названия книг одного автора (запрос из двух таблиц).

3. Вывести список авторов и количество книг, которых они написали.

4. Вывести автора, который имеет наибольшее количество книг.

5. Вывести название стран и количество авторов из этой страны.

6. Используя объединение таблиц, вывести названия книги, имя автора, дату рождения автора сначала для авторов, родившихся в январе, затем в феврале.

7. Вывести название книг, фамилию автора и название города, для авторов из одной страны (на ваш выбор), используя вложенный запрос

Методические указания к выполнению.

Соединения

Соединения предназначены для обеспечения выборки данных из нескольких таблиц и включения этих данных в один результирующий набор.

Существует четыре вида соединений:

• внутреннее

• внешнее,

• полное,

• перекрестное.

Для объединения трех и более таблиц можно применять последовательность соединений.



2016-09-16 273 Обсуждений (0)
SUBSTRING_INDEX(строка, разделитель, количество) 0.00 из 5.00 0 оценок









Обсуждение в статье: SUBSTRING_INDEX(строка, разделитель, количество)

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

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

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



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

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

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

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

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

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



(0.006 сек.)