Фильтровать по центру столбца SQL Oracle - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь создать запрос из БД Oracle.то есть SELECT FROM and WHERE.столбец "ORG" центрирован и всегда имеет 4 буквы.Я хотел бы отфильтровать это по одному конкретному пункту / значению.У меня уже WHERE ORG = 'HHAH' или с SBSTRG (ORG ...: как-то ничего не работает.У кого-нибудь есть идеи?

Ответы [ 3 ]

1 голос
/ 15 мая 2019

У меня есть значения 'HHAH' вместо 'HHAH' в столбце. Есть пробелы до и после значения

Вы можете удалить начальные и конечные пробелы с помощью функции trim() :

WHERE TRIM(ORG) = 'HHAH'

Использование функции для значения столбца предотвратит использование любого индекса для этого столбца (как будет like с начальным подстановочным знаком); если вы не добавите основанный на функции индекс для усеченного значения, с этим ничего не поделаешь.

1 голос
/ 15 мая 2019

Вам нужен оператор LIKE:

WHERE ORG LIKE '%HHAH%'

или

WHERE ORG LIKE '%' || 'HHAH' || '%'

для поиска значений, содержащих 'HHAH'?

0 голосов
/ 15 мая 2019

Я бы порекомендовал исправить данные:

update t
    set org = trim(org);

Не вижу смысла хранить пробелы в имени org. Если вам нужны места для отчетности, поместите их туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...