Рядкові функції - документація Mysql 4, 5 українською мовою

Рядкові функції повертають NULL , якщо довжина результату виявляється більшою, ніж зазначено у значенні серверного параметра max_allowed_packet . Налаштування параметрів сервера.

Для функцій, що працюють із позиціями у рядку, нумерація позицій починається з 1.

Повертає значення ASCII коду крайнього ліворуч символу рядка str ; 0 якщо str є порожнім рядком; NULL, якщо str дорівнює NULL:

також функцію ORD() .

Якщо крайній ліворуч символ рядка str є багатобайтним символом, то дана функція повертає його код, який обчислюється на основі ASCII-кодів його символів за формулою: ((перший байт ASCII-коду)*256+(другий байт ASCII-коду)) [*256+третій байт ASCII-коду. ]. Якщо крайній ліворуч символ не є багатобайтним, то ця функція повертає те саме значення, що й ASCII():

Перетворює числа з однієї системи числення в іншу. Повертає рядкове уявлення числа N, перетвореного із системи числення з основою from_base в систему числення з основою to_base. Якщо хоча б один із аргументів дорівнює NULL, то повертається NULL. Аргумент N інтерпретується як ціле число, але може бути задане як ціле число або рядок. Мінімальне значення основи системи числення дорівнює 2, а максимальне - 36. Якщо аргумент to_base представлений негативним числом, то приймається, що N – число зі знаком. В іншому випадку N трактується як беззнакове число. Функція CONV працює з 64-бітовою точністю:

Повертає рядок, що представляє двійкову величину N де N - ціле число великого розміру ( BIGINT ). Еквівалентна функції CONV(N,10,2). Якщо N дорівнює NULL, повертається NULL:

Повертає рядкове уявлення восьмеричного значення числа N , де N - ціле числовеликого розміру. Еквівалентно функції CONV(N,10,8). Якщо N дорівнює NULL, повертається NULL:

Якщо N_OR_S - число, то повертається рядкове уявлення шістнадцяткового числа N , де N - ціле число великого розміру ( BIGINT ). Еквівалентна функції CONV(N,10,16). Якщо N_OR_S - рядок, то функція повертає шістнадцятковий рядок N_OR_S , де кожен символ в N_OR_S конвертується в 2 шістнадцяткових числа. Є зворотним по відношенню до рядків 0xff.

CHAR() інтерпретує аргументи як цілі числа та повертає рядок, що складається із символів, що відповідають ASCII-коду цих чисел. Величини NULL пропускаються:

Повертає рядок, який є результатом конкатенації аргументів. Якщо хоча б один із аргументів дорівнює NULL, повертається NULL. Може приймати більше ніж 2 аргументи. Числовий аргумент перетворюється на еквівалентну строкову форму:

CONCAT_WS(separator, str1, str2.)

Функція CONCAT_WS() означає CONCAT With Separator (конкатенація з роздільником) і є спеціальною формою функції CONCAT() . Перший аргумент є роздільником інших аргументів. Розділювач, як і інші аргументи, може бути рядком. Якщо роздільник дорівнює NULL, то результат буде NULL. Ця функція пропускатиме всі величини NULL і порожні рядки, розташовані після аргументу-розділювача. Розділювач буде додаватися між рядками, що підлягають конкатенації:

LENGTH(str) , OCTET_LENGTH(str) , CHAR_LENGTH(str) , CHARACTER_LENGTH(str)

Повертає довжину рядка str:

Зверніть увагу: для CHAR_LENGTH() та CHARACTER_LENGTH() багатобайтні символи враховуються лише один раз.

Повертає довжину рядка str у бітах:

LOCATE(substr,str) , POSITION(substr IN str)

Повертаєпозицію першого входження підрядка substr у рядок str. Якщо підстрока substr у рядку str відсутня, повертається 0 :

Ця функція підтримує багатобайтні величини. У MySQL 3.23 ця функція чутлива до регістру, а в 4.0 вона чутлива до регістру лише у випадку, якщо хоча б один із аргументів є рядком із двійковими даними.

Повертає позицію першого входження підрядка substr у рядок str, починаючи з позиції pos. Якщо підстрока substr у рядку str відсутня, повертається 0 :

Ця функція підтримує багатобайтні величини. У MySQL 3.23 ця функція чутлива до регістру, а в 4.0 вона чутлива до регістру, тільки якщо хоча б один з аргументів є рядком з двійковими даними.

Повертає позицію першого входження підрядка substr у рядок str. Те саме, що й двоаргументна форма функції LOCATE() , крім зміни місць аргументів:

Ця функція підтримує багатобайтні величини. У MySQL 3.23 ця функція чутлива до регістру, а в 4.0 вона чутлива до регістру лише у випадку, якщо хоча б один із аргументів є рядком із двійковими даними.

Повертає рядок str , який доповнюється зліва рядком padstr , поки рядок str не досягне довжини символів. Якщо рядок str довший за len , то він буде укорочений до len символів.

Повертає рядок str , який доповнюється праворуч рядком padstr , поки рядок str не досягне довжини символів. Якщо рядок str довший за len , то він буде укорочений до len символів.

Повертає крайні зліва len символів з рядка str :

Ця функція підтримує багатобайтні величини.

Повертає крайні праворуч символи з рядка str :

Ця функція підтримує багатобайтнівеличини.

SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len) , MID(str,pos,len)

Повертає підстроку довжиною len символів з рядка str, починаючи з позиції pos. Існує форма з оператором FROM, для якої використовується синтаксис ANSI SQL92:

Ця функція підтримує багатобайтні величини.

SUBSTRING(str,pos) , SUBSTRING(str FROM pos)

Повертає підрядок з рядка str, починаючи з позиції pos:

Ця функція підтримує багатобайтні величини.

Повертає підрядок з рядка str перед появою count входжень роздільника delim. Якщо count позитивний, то повертається все, що знаходиться ліворуч від останнього роздільника (вважаючи ліворуч). Якщо count від'ємний, то повертається все, що знаходиться праворуч від останнього роздільника (вважаючи праворуч):

Ця функція підтримує багатобайтні величини.

Повертає рядок str з віддаленими початковими пробілами:

Ця функція підтримує багатобайтні величини.

Повертає рядок str з віддаленими кінцевими пробілами:

Ця функція підтримує багатобайтні величини.

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

Повертає рядок str з усіма віддаленими префіксами та/або суфіксами, зазначеними в remstr . Якщо не вказано жодного зі специфікаторів BOTH, LEADING або TRAILING, то мається на увазі BOTH. Якщо аргумент remstr не заданий, видаляються пробіли:

Ця функція підтримує багатобайтні величини.

Повертає саундекс від str.

Soundex – «ідентифікатор звучання рядка». Словосполучення «До скель бурих» і «З каламбуроми» мають давати однаковий саундекс, т.к. на слух вони звучать однаково. Проте зауважимо, що цієї функції для української мови не існує. MySQL потребує її, іякщо хтось може надати алгоритм саундексу українською – зв'яжіться з нами. - Прим. перекладача.

Два співзвучні рядки, які справляють враження майже однакових, можуть мати ідентичні саундекси. Зазвичай стандартний саундекс-рядок має довжину 4 символи, але функція SOUNDEX() повертає рядок довільної довжини. Можна використовувати функцію SUBSTRING() для вилучення стандартного саундексу рядка з результату функції SOUNDEX() . У рядку str ігноруються всі символи, які не є літерами або цифрами. Усі міжнародні літерні символи, що не входять у діапазон A-Z, трактуються як голосні:

Повертає рядок, що складається з N пробілів:

Повертає рядок str , у якому всі входження рядка from_str замінені на to_str :

Ця функція підтримує багатобайтні величини.

Повертає рядок, що складається з рядка str, повтореного count разів. Якщо значення count повертає порожній рядок. Повертає NULL, якщо str або count дорівнюють NULL:

Повертає рядок str із зворотним порядком символів:

Ця функція підтримує багатобайтні величини.

Повертає рядок str , у якому підрядок починаючи з позиції pos , що має довжину len заміщений на newstr :

Ця функція підтримує багатобайтні величини.

Повертає str1 якщо N = 1 , str2 якщо N = 2 і так далі. Якщо N менше 1 або більше, ніж число аргументів, повертається NULL . Функція ELT() є додатковою стосовно функції FIELD() :

Повертає індекс рядка str у списку str1, str2, str3, . . Якщо рядок str не знайдено, повертається 0 . Функція FIELD() є додатковою по відношенню до функції ELT() :

Повертає значення від 1 до N , якщо рядок str є у списку strlist , що складається з Nпідрядок. Список рядків є рядок, що складається з підрядків, розділених символами , . Якщо перший аргумент є рядком констант, а другий є стовпцем типу SET , функція FIND_IN_SET() оптимізується для використання двійкової арифметики! Повертає 0 , якщо str немає у списку strlist або якщо strlist є порожнім рядком. Якщо один із аргументів дорівнює NULL, повертається 0. Ця функція не буде коректно працювати, якщо перший аргумент містить символ , :

Повертає безліч (рядок, що містить підрядки, розділені символами , ), Що складається з рядків, що мають відповідний біт у наборі bits . Аргумент str1 відповідає біту 0, str2 - біту 1, і так далі. Нульові рядки в наборах str1, str2,. не додаються до результату:

Повертає рядок, де кожному встановленому біту в аргументі bits відповідає рядок on , а кожному скинутому біту - off . Кожен рядок відокремлений роздільником, вказаним у параметрі separator (за замовчуванням - , ), причому використовується лише кількість бітів, задана аргументом number_of_bits (за замовчуванням 64), з усієї кількості, вказаної в bits :

Повертає рядок str , у якому всі символи переведені в нижній регістр відповідно до поточної установки набору символів (за замовчуванням - ISO-8859-1 Latin1):

Ця функція підтримує багатобайтні величини.

Повертає рядок str , де всі символи переведені у верхній регістр відповідно до поточної установки набору символів (за замовчуванням - ISO-8859-1 Latin1):

Ця функція підтримує багатобайтні величини.

При використанні версії MySQL, відмінної від 3.23, читання файлу необхідно виконувати всередині вашої програми та використовувати команду INSERT для внесення до бази данихінформації, що міститься у файлі. Один із шляхів реалізації цього з використанням бібліотеки MySQL можна знайти на http://www.mysql.com/documentation/mysql++/mysql++-examples.html.

Екранує рядок для того, щоб отримати коректне значення для SQL-виразу. Рядок полягає в одинарні лапки, і кожне входження одинарної лапки ( ' ), зворотного слєша ( \ ), значення ASCII NUL і Control-Z екрануються зворотним слішем. Якщо аргумент - NULL , тоді результатом буде слово " NULL " без навколишніх лапок.

MySQL при необхідності автоматично конвертує числа в рядки і навпаки:

Для перетворення числа в рядок явно необхідно передати його як аргумент функції CONCAT() .

Якщо рядкова функція містить як аргумент рядок із двійковими даними, то й результуючий рядок також буде рядком із двійковими даними. При цьому число, конвертоване в рядок, сприймається як рядок із двійковими даними. Це має значення при виконанні операцій порівняння.