2015-06-30 1 views
0

Я хочу запросить строку из поля из моей базы данных. Например: Поле «Адрес», значение «Район Тул Корк, Пномпень». Хочется, чтобы я получил только «Пномпень». Я знаю, что мой sql не позволяет выбрать только эту строку из поля. Итак, каков хороший способ сделать это?Как отфильтровать имя из предложения в базе данных?

+1

Вы знаете заранее все возможные поля (как и во всех возможных городах) вас хотите получить от базы данных? – ozborn

ответ

0

Это может помочь вам:

SELECT SUBSTR(Address, 
    LOCATE(Value,Address), 
    LENGTH(Address) - LENGTH(Value)); 

POSITION функция для LOCATE синоним. Вы можете использовать POSITION функцию, а также:

SELECT SUBSTR(Address, 
     LOCATE(Value IN Address), 
     LENGTH(Address) - LENGTH(Value)); 

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

SELECT SUBSTR('Toul Kork District,Phnom Penh', 
    LOCATE('Phnom Penh','Toul Kork District,Phnom Penh'), 
    LENGTH('Toul Kork District,Phnom Penh') - LENGTH('Phnom Penh')); 

Result : Phnom Penh

+0

RubahMalam- Метод LOCATE не определен! Как это решить? –

+0

@TumLina Попробуйте функцию «ПОЗИЦИЯ». Это похоже на «LOCATE». – RubahMalam

+0

Я понятия не имею, почему я не могу использовать Select substr в моем контроллере laravel, он говорит о неопределенном SELECT SUBTR. Пожалуйста, помогите мне! –

Смежные вопросы