Списък на низови функции

Повече функции освен дата и час - само тип String. Което в SQL се дава от типове CHAR(n) и VARCHAR(n). Нека си припомним най-популярните от тях:

функция Описание
1 LENGTH(низ) Връща дължината на предадения низ в byteове
2 CHAR_LENGTH(низ) Връща дължината на предадения низ в знаци
3 LOCATE(подниз,низ), Търси подниз в низ, подобен на метода indexOf().
4 LOCATE(substr,str,pos) Търси подниз в низ, започващ от поз
5 CONCAT(str1,str2,...) Свързва няколко реда
6 SUBSTR(), SUBSTRING() Връща подниз, даден от набор от знаци
7 LOWER(str) Преобразува низ в малки букви
8 ГОРЕН (низ) Преобразува низ в главни букви
9 REPLACE() Заменя подниз в низ
10 СЪВПАДА() Проверява дали даден низ съответства на даден шаблон
единадесет TRIM(str) Изрязва празните знаци в началото и края на низ
12 LTRIM(str) Изрязва празните символи в началото на низ
13 RTRIM(str) Изрязва празните символи в края на низ
14 TO_BASE64(str) Преобразува низ в Base64
15 FROM_BASE64(str) Преобразува низ от Base64

Умишлено групирах функциите в малки групи, за да улесня разбирането How се работи с тях. По-долу ще разгледаме по една функция от всяка група. Можете да намерите пълен списък с функции за работа с низове в официалната documentация .

Нека преобразуваме низа

Нека първо разгледаме най-простите функции, които просто преобразуват низ в малко по-различна форма. Например, конвертирайте низ в главни и малки букви. Като цяло тяхното поведение е подобно на същите функции в езика Java.

Така че просто ще дам table с няколко примера.

# Заявка Резултат
1 ИЗБЕРЕТЕ ДЪЛЖИНА ('текст') 4
2 ИЗБЕРЕТЕ ДЪЛЖИНА („Здравей“) 12
3 SELECT LOWER ('Hi') Здравейте
4 ИЗБЕРЕТЕ ГОРЕН ('Здравей') ЗДРАВЕЙТЕ
5 ИЗБЕРЕТЕ SUBSTR („Здравей“, 2, 3) рив
6 ИЗБЕРЕТЕ SUBSTR („Здравей, How си?“, 8) Как си?

Функциите работят Howто се очаква, точно Howто техните колеги от JDK.

Единственото предупреждение: в първия ред резултатът е 4, а не 8. Работата е там, че 1 byte (ASCII codeиране) се използва в заявката за codeиране на латински символи. Но ако работите с данни от базата данни, тогава дължината на низа ще зависи от настройките за codeиране на базата данни . Ще откриете много изненади, докато работите с базата данни :)

Сложни действия със струни

Е, нека да разгледаме по-сложните неща, когато работим с низове. Какво бихте измислor...

Нека изведем задачите от tableта със задачи и ако крайният срок на задачата вече е изтекъл, тогава добавете думата ИЗТЕКЛО към описанието на задачата!

Звучи интересно. Въпреки че все още не сме научor сложни условия, така че нека опростим задачата малко. Нека просто напишем заявка, която ще покаже списък с минали задачи, но не забравяйте да добавите думата „ИЗТЕКЛО!“ към заглавието. .

За да направим това, ще трябва да използваме функцията CONCAT:

   SELECT CONCAT( 'EXPIRED! ', name) FROM task 
   WHERE deadline < CURDATE() 

Резултатът от тази заявка ще бъде:

concat('ИЗТЕКЛО!', име)
ПРОСРОЧЕН! Коригиране на грешка във фронтенда

Препоръка. Ако просто трябва да конвертирате данните в малко по-различна форма, тогава това може да се направи и на ниво Java code. Но ако искате да използвате низови функции от страна на SQL сървъра (вътре WHERE), тогава определено не можете без тях.