string sql что это

Строковые функции SQL – примеры использования

Мы продолжаем изучение языка запросов SQL, и сегодня мы с Вами будем разговаривать о строковых функциях SQL. Мы рассмотрим основные и часто используемые строковые функции, такие как: LOWER, LTRIM, REPLACE и другие, все рассматривать мы будем, конечно же, на примерах.

В прошлой статье «Основы языка запросов SQL – оператор SELECT» мы с Вами узнали, что такое вообще SQL, а также рассмотрели основы оператора SELECT (условия отбора, агрегатные функции), здесь же мы продолжаем изучение оператора SELECT, а если говорить конкретней, то будем рассматривать строковые функции SQL.

Строковые функции используются для возвращения уже отредактированного значения. Другими словами, например, у Вас в колонке все значения состоят более чем из 20 символов, а Вам нужно возвратить всего первые 5 символов, это можно сделать с помощью так называемых строковых функциях.

Теперь перейдем непосредственно к самим функциям. Здесь я рассматриваю только часто используемые в работе или просто полезные строковые функции.

Функция CONCAT

Начнем с функции CONCAT – она используется для объединения значений двух столбцов в один. Допустим у Вас в таблице, «Имя» и «Фамилия» находятся в разных колонках (что логично), а Вам, для какого-нибудь отчета, нужно чтобы они выводились в одной колонке. Вы можете легко использовать данную функцию.

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

Иван Иванов
Петр Петров
Иван Иванов
Петр Петров

Аналогично этому запросу можно использовать следующую конструкцию (применимо в PostgreSQL).

Или чтобы отделить пробелом введите

т.е. две вертикальные черты объединяют два столбца в один, а чтобы отделить их пробелом я поставил между ними пробел (можно использовать любой символ, например тире или двоеточие) в апострофах и объединил также двумя вертикальными чертами (в Transact-SQL вместо двух вертикальных черточек используется знак +).

Функция INITCAP

Дальше идет также очень полезная функция, INITCAP – которая возвращает значение в строке, в которой каждое слово начинается с заглавной буквы, а продолжается маленькими. Это нужно для того, если у Вас в той или иной колонке не соблюдают правила заполнения и для того чтобы вывести все это дело в красивом виде можно использовать данную функцию, например, у Вас в таблице записи в колонке name следующего вида: ИВАН иванов или петр петров, Вы применяете данную функцию.

И у Вас получится вот так.

Иван Иванов
Петр Петров

Функция LOWER

Следующая функция также может пригодиться. LOWER – возвращает в значение все слова с маленькой буквы. Используем пример выше, но только будем пользоваться следующий функцией.

А теперь получится вот так.

иван иванов
петр петров

Функция UPPER

Похожая функция, только возвращает все символы с заглавной буквы, это UPPER.

ИВАН ИВАНОВ
ПЕТР ПЕТРОВ

Функция LPAD

Далее идет функция LPAD — она пригодится Вам, если Вам необходимо дополнить слева некими символами, до определенного количества знаков. Допустим, Вам необходимо, чтобы длина поля «Имя» была 20 знаков, и если длина имени меньше (например, «Иван» явно меньше 20 знаков), то будет происходить дополнение слева специальным символом (для примера используем тире).

Функция RPAD

Сразу рассмотрим обратную функцию. RPAD – действие и синтаксис тот же что и у LPAD, только дополняются символы справа (в LPAD слева).

Функция LTRIM

Далее идет тоже в некоторых случаях полезная функция, LTRIM – эта функция удаляет крайние левые символы, которые Вы укажите. Например, у Вас в базе есть колонка «город», в которой город указан в виде «г.Москва», а также есть города которые указанны в виде просто «Москва». Но Вам нужно вывести отчет только в виде «Москва» без «г.», но как это сделать, если есть и такие и такие? Вы просто указываете своего рода шаблон «г.» и если крайние левые символы начинаются с «г.», то эти символы просто не будут выводиться.

г.Москва Москва Москва Москва г.Калуга Калуга

Данная функция просматривает символы слева, если символов по шаблону нет в начале строки, то она возвращает исходное значение ячейки, а если есть, то удаляет их.

Функция RTRIM

Также давайте сразу рассмотрим обратную функцию. RTRIM – то же самое что и LTRIM только символы ищутся справа.

Примечание! В Transact-SQL функции RTRIM и LTRIM удаляют пробелы справа и слева соответственно.

Функция REPLACE

Теперь рассмотрим такую интересную функцию как REPLACE – она возвращает строку, в которой все совпадения символов, заменяются на Ваши символы, которые Вы укажите. Для чего ее можно использовать, например, у Вас в базе есть колонки, в которых встречаются некие разделительные символы, допустим «/». Например, Иван/Иванов, а Вам хотелось бы вывести Иван-Иванов, то напишите

и у Вас произойдет замена символов.

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

Функция TRANSLATE

TRANSLATE – строковая функция, которая заменяет все символы в строке, на те символы, которые Вы укажите. Исходя из названия функции, можно догадаться, что это полный перевод строки. Отличие данной функции от REPLACE в том, что она заменяет каждый символ, который Вы укажите, т.е. у Вас есть три символа, допустим абв и с помощью TRANSLATE Вы его можете заменить на abc таким образом у Вас а=a, б=b, в=c и по такому принципу будут заменяться все совпадения символов. А если Вы заменяли с помощью REPLACE, то у Вас искалось только полное совпадение символов абв расположенных подряд.

Функция SUBSTR

SUBSTR – данная функция, возвращает только тот диапазон символов, который Вы укажите. Другими словами, допустим, строка из 10 символов, а Вам все десять не нужны, а допустим, нужны только 3-8 (с третьего по восьмой). С помощью данной функции Вы легко можете это сделать. Например, у Вас в базе есть какой-нибудь идентификатор, фиксированной длинны (типа: AA-BB-55-66-CC) и каждая комбинация символов что-то означает. И в один прекрасный момент Вам сказали вывести только 2 и 3 комбинацию символов, для этого вы пишите запрос следующего вида.

Читайте также:  Что такое надфиль кроссворд

т.е. мы выводим все символы, начиная с 4 и заканчивая 8, и после этого запроса у Вас выведется вот это:

BB-55

Функция LENGTH – длина строки

Следующая функция также может пригодиться, это LENGTH – которая просто на всего считает количество символов в строке. Например, Вам нужно узнать, сколько символов в каждой ячейки столбца допустим «name», таблица следующего вида.

Иван
Сергей
Виталий

после этого запроса Вы получите вот это.

Заметка! Для комплексного изучения языка SQL рекомендую почитать мою книгу «SQL код», в ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.

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

Источник

Работа со строковыми данными в SQL: строки и функции для их обработки

Функции для работы со строками в SQL позволяют манипулировать текстовыми данными и получать результаты запросов, в которых текстовые данные приобретают преобразованный вид, отличающийся от того, в котором они хранятся в таблицах базы данных. Следует подчеркнуть, что эти функции не вносят изменений в исходные данные; с помощью их изменённые данные получают лишь на выходе запроса. Функций для работы со строками в SQL насчитывается несколько десятков. Мы рассмотрим наиболее употребительные их них.

Функции для работы со строками имеют следуюший синтаксис:

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

В примерах работаем с базой данных библиотеки и её таблицей «Книга в выдаче» (BOOKINUSE). Операции будут относиться к столбцам Author (автор книги) и Title (название книги).

Если вы хотите выполнить запросы к базе данных из этого урока на MS SQL Server, но эта СУБД не установлена на вашем компьютере, то ее можно установить, пользуясь инструкцией по этой ссылке .

Author Title Pubyear Inv_No Customer_ID
Толстой Война и мир 2005 28 65
Чехов Вишневый сад 2000 17 31
Чехов Избранные рассказы 2011 19 120
Чехов Вишневый сад 1991 5 65
Ильф и Петров Двенадцать стульев 1985 3 31
Маяковский Поэмы 1983 2 120
Пастернак Доктор Живаго 2006 69 120
Толстой Воскресенье 2006 77 47
Толстой Анна Каренина 1989 7 205
Пушкин Капитанская дочка 2004 25 47
Гоголь Пьесы 2007 81 47
Чехов Избранные рассказы 1987 4 205
Пушкин Сочинения, т.1 1984 6 47
Пастернак Избранное 2000 137 18
Пушкин Сочинения, т.2 1984 8 205
NULL Наука и жизнь 9 2018 2019 127 18
Чехов Ранние рассказы 2001 171 31

Функция SQL CONCAT()

Пример 1. Получить в одном столбце авторов и названия всех выданных книг. Чтобы автор и название книги не слипались, вторым аргументом функции CONCAT указываем пробел ‘ ‘. Пишем следующий запрос:

Этот запрос не содержит секции WHERE, поэтому функция применяется ко всем строкам таблицы. Результат выполнения запроса:

CONCAT (Author, ‘ ‘, Title)
Толстой Война и мир
Чехов Вишневый сад
Чехов Избранные рассказы
Чехов Вишневый сад
Ильф и Петров Двенадцать стульев
Маяковский Поэмы
Пастернак Доктор Живаго
Толстой Воскресенье
Толстой Анна Каренина
Пушкин Капитанская дочка
Пушкин Сочинения т. 1
Пушкин Сочинения т. 2
Гоголь Пьесы
Чехов Избранные рассказы
Наука и жизнь 9 2018
Пастернак Избранное
Чехов Ранние рассказы

Функция MySQL INSERT() и функция MS SQL Server STUFF()

Названия этих функций различаются в разных СУБД, но выполняют они одну задачу: возвращают новую строку, являющуюся результатом того, что начиная с определённой позиции исходной строки указанное число символов заменено некоторой новой подстрокой. Написание функций с аргументами:
INSERT(строка, позиция, длина, вставляемая подстрока);
STUFF(строка, позиция, длина, вставляемая подстрока).

Пример 2. Предположим, что библиотекари устроили друг другу викторину и делают из некоторых записей таблицы своеобразные загадки. Требуется вывести автора книги «Двенадцать стульев» так, чтобы оно читалось не как «Ильф и Петров», а как «Ильф и его соавтор». Пишем следующий запрос на MySQL:

Результат выполнения запроса:

New_Author
Ильф и его соавтор

Пишем запрос на MS SQL Server (с предваряющей конструкцией USE library;):

Результат будет аналогичным.

Функция SQL REPLACE()

Эта функция возвращает новую строку, являющуюся результатом того, что в исходной строке str все подстроки substr1 заменены на подстроки substr2. Написание функции:
REPLACE(str, substr1, substr2).

Пример 3. Викторина в библиотеке продолжается. Требуется заменить фамилию автора «Чехов» на «Мастер короткого рассказа». Пишем следующий запрос на MySQL:

Так как запрос написан без секции WHERE, замена произойдёт во всех записях, соответствующих записям исходной таблицы. Результат выполнения запроса:

REPLACE (Author, ‘Чехов’ ‘Мастер короткого рассказа’)
Толстой
Мастер короткого рассказа
Мастер короткого рассказа
Мастер короткого рассказа
Ильф и Петров
Маяковский
Пастернак
Толстой
Толстой
Пушкин
Гоголь
Мастер короткого рассказа
Пастернак

Функция SQL LOWER()

Эта функция возвращает новую строку str, в которой все символы исходной строки переведены в нижний регистр. Написание функции:
LOWER(str).

Пример 4. Пусть требуется написать фамилии всех авторов в нижнем регистре. Пишем следующий запрос:

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

LOWER(Author)
толстой
чехов
чехов
чехов
.
гоголь
чехов
пастернак

Функция SQL UPPER()

Эта функция возвращает новую строку str, в которой все символы исходной строки переведены в верхний регистр. Написание функции:
UPPER(str).

Пример 5. Пусть требуется написать фамилии всех авторов в верхнем регистре. Пишем следующий запрос:

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

LOWER(Author)
ТОЛСТОЙ
ЧЕХОВ
ЧЕХОВ
ЧЕХОВ
.
ГОГОЛЬ
ЧЕХОВ
ПАСТЕРНАК

Примеры запросов к базе данных «Библиотека» есть также в уроках по операторам GROUP BY, IN, предикату EXISTS и функции COALESCE.

Функция MySQL LENGTH() и функция MS SQL Server LEN()

Названия этих функций различаются в разных СУБД, но выполняют они одну задачу: возвращают длину строки str. Написание функции:
LENGTH(str);
LEN(str).

Пример 6. Пусть требуется узнать длину фамилий авторов выданных книг. Пишем следующий запрос:

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

Author LENGTH(Author)
Толстой 7
Чехов 5
Чехов 5
Чехов 5
. .
Гоголь 6
Чехов 5
Пастернак 9

Ещё несколько употребительных функций SQL для работы со строками

Источник

О строковых функциях SQL или как манипулировать текстом в базе данных MySQL

Здравствуйте, уважаемые читатели блога webcodius.ru. Сегодня я хотел бы поговорить о языке SQL, а в частности о функциях для обработки текста. Для создания и управления сайтом часто бывает не обязательно знание языка SQL. Системы управления контентом позволяют редактировать контент сайта без написания запросов. Но хотя бы поверхностное знакомство с структурированным языком запросов поможет вам значительно ускорить модификацию и управление данными в базе данных вашего сайта.

Передо мной частенько возникают задачи: удалить часть текста из текстовых полей базы данных, объединить строковые данные или еще что-нибудь связанное с текстом. Делать все это через админские панели сайтов очень неудобно и муторно. Гораздо проще бывает написать запрос к базе данных выполняющий все эти действия за пару секунд.

Символьные функции в языке sql

Начнем по порядку с самого простого. Первой рассмотрим строковую функцию ASCII, которая используется для определения ASCII-кода текстовых символов:

integer ASCII(str string)

Функция возвращает целое значение — ASCII-код первого левого символа строки str. В случае если строка str пустая возвращает 0 и NULL если строка str не существует.

SELECT ASCII (‘t’);
Результат: 116
SELECT ASCII (‘test’);
Результат: 116
SELECT ASCII (1);
Результат: 49

Далее функция ORD, которая также определяет ASCII- код символов, но может обрабатывать также многобайтовые символы:

integer ORD(str string)

SELECT ORD (‘test’);
Результат: 116

Функция CHAR, тесно связанная с функцией ASCII и выполняет обратное действие:

Функция CHAR возвращает строку символов по их ASCII-кодам. Если среди значений встречается значение NULL, то оно пропускается.

SELECT CHAR ( 116, ‘101’, 115, ‘116’ );
Результат: ‘test’

SQL функции для объединения строк

Одна из самых популярных категорий функций. Ведь частенько бывает нужно объединить значения нескольких полей таблиц базы данных сайта. В языке SQL есть сразу несколько функций для конкатенации строк.

string CONCAT(str1 string, str2 string. )

Функция возвращает строку, созданную путем объединения аргументов. Можно указывать более двух аргументов. Если один из аргументов является NULL, то и возвращаемый результат будет NULL. Числовые значения преобразуются в строку.

SELECT CONCAT (‘Hello’, ‘ ‘, ‘world’, ‘!’);
Результат: ‘Hello world!’
SELECT CONCAT (‘Hello’, NULL, ‘world’, ‘!’);
Результат: NULL
SELECT CONCAT (‘Число пи’, ‘=’, 3.14);
Результат: ‘Число пи=3.14’

Как видно из примеров, строки объединяются без разделителей. Для того чтобы разделить слова в первом примере в качестве аргумента приходится использовать пробел. Если бы слов было больше, то каждый раз вставлять пробелы было бы не очень удобно.

Для таких случаев существует функция CONCAT_WS:

string CONCAT_WS(separator string, str1 string, str2 string. )

Функция объединяет строки как и функция CONCAT, но вставляет между аргументами разделитель separator. В случае если аргумент separator является NULL, то и результат будет NULL. Аргументы строки равные NULL пропускаются.

SELECT CONCAT_WS (‘ ‘, ‘Иванов’, ‘Иван’, ‘Иванович’);
Результат: ‘Иванов Иван Иванович’
SELECT CONCAT_WS (NULL, ‘Иванов’, ‘Иван’, ‘Иванович’);
Результат: NULL
SELECT CONCAT_WS (‘ ‘, ‘Иванов’, NULL, ‘Иван’, ‘Иванович’);
Результат: »Иванов Иван Иванович’

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

Иногда бывает необходимо удлинить строку до определенного количества символов за счет повторения какого-либо символа. Это тоже своего рода объединение строк. Для этого можно использовать функции LPAD и RPAD. Функции имеют следующий синтаксис:

string LPAD(str string, len integer, padstr string)
string RPAD(str string, len integer, padstr string)

Функция LPAD возвращает строку str дополненную слева строкой padstr до длины len. Функция RPAD выполняет тоже самое, только удлинение происходит с правой стороны.

В данных функциях необходимо обратить внимание на параметр len, который ограничивает количество выводимых символов. Поэтому если длина строки str будет больше чем параметр len, то строка будет обрезана:

SELECT LPAD (‘test’, 3, ‘.’);
Результат: tes

Определение длины строки в sql запросах

Для определения количества символов в строке в языке SQL отвечает функция LENGTH — длина строки:

integer LENGTH(str string)

Функция возвращает целое число равное количеству символов в строке str.

SELECT LENGTH (‘test’);
Результат: 4

В случае использования многобайтовых кодировок функция LENGTH выдает не правильный результат. Например в случае если задана кодировка unicode, то запрос:

SELECT LENGTH (‘тест’);

вернет 8. Что, легко заметить, в два раза больше реального количества символов. В этом случае нужно использовать функцию CHAR_LENGTH:

integer CHAR_LENGTH(str string)

Функция также возвращает длину строки str и поддерживает многобайтовые символы.

SELECT CHAR_LENGTH (‘тест’);
Результат: 4

Поиск подстроки в строке средствами sql

Для вычисления позиции подстроки в строке в языке sql существует несколько функций. Первая, которую мы рассмотрим, функция POSITION:

integer POSITION(substr string IN str string)

Возвращает номер позиции первого вхождения подстроки substr в строке str и возвращает 0 если подстрока не найдена. Функция POSITION может работать с многобайтовыми символами.

SELECT POSITION (‘cd’ IN ‘abcdcde’);
Результат: 3
SELECT POSITION (‘xy’ IN ‘abcdcde’);
Результат: 0

Следующая функция LOCATE позволяет начинать поиск подстроки с определенной позиции:

integer LOCATE(substr string, str string, pos integer)

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

SELECT LOCATE (‘cd’, ‘abcdcdde’, 5);
Результат: 5
SELECT LOCATE (‘cd’, ‘abcdcdde’);
Результат: 3

Аналогом функций POSITION и LOCATE является функция INSTR:

integer INSTR(str string, substr string)

Также как и функции выше возвращает позицию первого вхождения подстроки substr в строке str. Единственное отличие от функций POSITION и LOCATE то, что аргументы поменяны местами.

Далее рассмотрим функции, которые помогают получить подстроку.

Первыми рассмотрим сразу две функции LEFT и RIGHT, которые похожи по своему действию:

string LEFT(str string, len integer)
string RIGHT(str string, len integer)

Функция LEFT возвращает len первых символов из строки str, а функция RIGHT столько же последних. Поддерживают многобайтовые символы.

SELECT LEFT (‘Москва’, 3);
Результат: Мос
SELECT RIGHT (‘Москва’, 3);
Результат: ква

Далее рассмотрим одинаковые по итоговому результату функции SUBSTRING и MID:

string SUBSTRING(str string, pos integer, len integer)
string MID(str string, pos integer, len integer)

Функции позволяют получить подстроку строки str длиною len символов с позиции pos. В случае если параметр len не задан, то возвращается вся подстрока начиная с позиции pos.

SELECT SUBSTRING (‘г. Москва — столица России’, 4, 6);
Результат: Москва
SELECT SUBSTRING (‘г. Москва — столица России’, 4);
Результат: Москва — столица России

Примеры с функцией MID не привожу, потому что результаты будут аналогичные.

Интересная функция SUBSTRING_INDEX:

string SUBSTRING_INDEX(str string, delim string, count integer)

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

SELECT SUBSTRING_INDEX (‘www.mysql.ru’, ‘.’, 1);
Результат: www

В данном примере функция находит, первое вхождения символа точки в строке «www.mysql.ru» и удаляет все символы, идущие после нее, включая сам разделитель.

SELECT SUBSTRING_INDEX (‘www.mysql.ru’, ‘.’, 2);
Результат: www.mysql

Здесь функция ищет второе вхождение точки, удаляет все символы справа от нее и возвращает получившуюся подстроку. И еще один пример с отрицательным значением параметра count:

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

Удаление пробелов из строки

Для удаления лишних пробелов из начала и конца строки в языке SQL есть три функции.

string LTRIM(str string)

Удаляет с начала строки str пробелы и возвращает результат.

string RTRIM(str string)

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

SELECT LTRIM (‘ текст ‘);
Результат: ‘текст ‘
SELECT RTRIM (‘ текст ‘);
Результат: ‘ текст’

И третья функция TRIM позволяет сразу удалять пробелы из начала и из конца строки:

string TRIM([[BOTH | LEADING | TRAILING] [remstr] string FROM] str string)

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

SELECT TRIM (‘ текст ‘);
Результат: ‘текст’

С помощью пара метра remstr можно задавать символы или подстроки, которые будут удаляться из начала и конца строки. С помощью управляющих параметров BOTH, LEADING, TRAILING можно задавать откуда будут удаляться символы:

SELECT TRIM (BOTH ‘а’ FROM ‘текст’);
Результат: ‘текст’
SELECT TRIM (LEADING ‘а’ FROM ‘текстааа’);
Результат: ‘текстааа’
SELECT TRIM (TRAILING ‘а’ FROM ‘ааатекст’);
Результат: ‘ааатекст’

Функция SPACE позволяет получить строку состоящую из определенного количества пробелов:

string SPACE(n integer)

Возвращает строку, которая состоит из n пробелов.

Функция REPLACE нужна для замены заданных символов в строке:

string REPLACE(str string, from_str string, to_str string)

Функция заменяет в строке str все подстроки from_str на to_str и возвращает результат. Поддерживает многобайтные символы.

SELECT REPLACE ( ‘замена подстроки’, ‘подстроки’, ‘текста’ )
Результат: ‘замена текста’

string REPEAT(str string, count integer)

Функция возвращает строку, которая состоит из count повторений строки str. Поддерживает многобайтовые символы.

SELECT REPEAT (‘w’, 3);
Результат: ‘www’

Функция REVERSE переворачивает строку:

string REVERSE(str string)

Переставляет в строке str все символы с последнего на первый и возвращает результат. Поддерживает многобайтовые символы.

SELECT REVERSE (‘текст’);
Результат: ‘тскет’

Функция INSERT для вставки подстроки в строку:

string INSERT(str string, pos integer, len integer, newstr string)

Возвращает строку полученную в результате вставки в строку str подстроки newstr с позиции pos. Параметр len указывает сколько символов будет удалено из строки str, начиная с позиции pos. Поддерживает многобайтовые символы.

SELECT INSERT (‘text’, 2, 5, ‘MySQL’);
Результат: ‘tMySQL’
‘SELECT INSERT (‘text’, 2, 0, ‘MySQL’);
Результат: ‘tMySQLext’
SELECT INSERT (‘вставка текста’, 2, 7, ‘MySQL’);
Результат: ‘SELECT INSERT (‘вставка текста’, 2, 7, ‘MySQL’);’

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

string LCASE(str string) и string LOWER(str string)

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

SELCET LOWER (‘АБВГДеЖЗиКЛ’);
Результат:’абвгдежзикл’

Если же наоборот необходимо прописные буквы заменить заглавными, то также можно применить одну из двух функцийй:

string UCASE(str string) и string UPPER (str string)

Функции возвращают строку str, заменив все прописные символы на заглавные. Также поддерживают многобайтовые символы.
Пример:

SELECT UPPER (‘Абвгдежз’);
Результат: ‘АБВГДЕЖЗ’

Строковых функций в языке SQL немного больше, чем рассмотрено в данной статье. Но так как даже большинство рассмотренных здесь функций используются редко, я закончу их рассмотрение. В следующих статьях я постараюсь рассмотреть реальные практические примеры использования строковых функций SQL. Поэтому не забудьте подписаться на обновления блога. До новых встреч!

Источник

Читайте также:  Что такое линейная регрессия в машинном обучении
Информ портал о технике и не только