Я пытаюсь создать запрос из БД Oracle.то есть SELECT FROM and WHERE.столбец "ORG" центрирован и всегда имеет 4 буквы.Я хотел бы отфильтровать это по одному конкретному пункту / значению.У меня уже WHERE ORG = 'HHAH' или с SBSTRG (ORG ...: как-то ничего не работает.У кого-нибудь есть идеи?
SELECT FROM and WHERE
WHERE ORG = 'HHAH'
SBSTRG (ORG ...:
У меня есть значения 'HHAH' вместо 'HHAH' в столбце. Есть пробелы до и после значения
Вы можете удалить начальные и конечные пробелы с помощью функции trim() :
trim()
WHERE TRIM(ORG) = 'HHAH'
Использование функции для значения столбца предотвратит использование любого индекса для этого столбца (как будет like с начальным подстановочным знаком); если вы не добавите основанный на функции индекс для усеченного значения, с этим ничего не поделаешь.
like
Вам нужен оператор LIKE:
LIKE
WHERE ORG LIKE '%HHAH%'
или
WHERE ORG LIKE '%' || 'HHAH' || '%'
для поиска значений, содержащих 'HHAH'?
'HHAH'
Я бы порекомендовал исправить данные:
update t set org = trim(org);
Не вижу смысла хранить пробелы в имени org. Если вам нужны места для отчетности, поместите их туда.
org