Firebird - выберите конкретное слово из строки слов

У меня есть строка слов/адреса..

 ID | ADDRESS 
 1   barangay1, City Province
 2   barangay2, City Province

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

 ID | ADDRESS
 1   barangay1
 2   barangay2

Я пытался использовать Position(), но он возвращает только целое число. Может кто-нибудь помочь


person user3505049    schedule 05.04.2017    source источник


Ответы (1)


В дополнение к POSITION() вам нужна SUBSTRING() для извлечения части строки. Если строка, которая вас интересует, находится от начала строки до первой запятой, то

select SUBSTRING(ADDRESS from 1 for POSITION(',' in ADDRESS)-1) from T

должно сработать. Вы также можете запустить результат через TRIM (), чтобы избавиться от любых начальных и/или конечных пробелов.

person ain    schedule 05.04.2017
comment
когда этой формуле будет дана строка без единой запятой - это будет немного LOL - person Arioch 'The; 05.04.2017