MySQL: левая часть строки разделена строкой-разделителем? - PullRequest
27 голосов
/ 20 апреля 2011

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

Например, с разделительной строкой '==':

abcdef==12345     should return abcdef
abcdefgh==12      should return abcdefgh

Тоже самое, но для правой части ...

Ответы [ 3 ]

62 голосов
/ 20 апреля 2011
SELECT SUBSTRING_INDEX(column_name, '==', 1) FROM table ; // for left

SELECT SUBSTRING_INDEX(column_name, '==', -1) FROM table; // for right
5 голосов
/ 20 апреля 2011
select substring_index('abcdef==12345','==',1)

для правой части используйте -1 вместо 1.

1 голос
/ 20 апреля 2011

Я бы посмотрел на функцию подстроки в SQL, которая является SUBSTR, но это больше для заданных позиций в строке, а не столько для переменной длины.

http://www.1keydata.com/sql/sql-substring.html

...