«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как извлечь подстроки, прежде чем подчеркнуть в Oracle SQL?

Как извлечь подстроки, прежде чем подчеркнуть в Oracle SQL?

Опубликовано в 2025-05-26
Просматривать:144

] How to Extract Substrings Before an Underscore in Oracle SQL?

]

извлечение подстроков в конкретный символ в Oracle SQL

задача:
] Выбор подстроков из столбца, содержащих результаты с различными символами, перед подчеркиванием ("_"). Сам.

Решение: ]

для достижения желаемого результата комбинация функций SQL предоставляет решение:

SELECT NVL(SUBSTR(column, 0, INSTR(column, '_')-1), column) AS output
FROM YOUR_TABLE;

объяснение:

  • функция субстрата извлекает подстроение, начиная с указанной позиции (0) и продолжая для указанной длины. string.
  • NVL Функция оценивается на первое не нулевое значение, гарантируя, что подстройки без подчеркивания символов возвращают исходное значение.
  • вычитание 1 из Instr (Column, '_') гарантирует, что только символы, предшествующие подчеркиванию. output.
пример:

ded:

org | ЦЕНИТЬ 1 | Abc_blahblahblah 2 | Defgh_moreblahblahblah 3 | Ijklmnop_moremoremoremore

ORG | VALUE
1   | ABC_blahblahblah
2   | DEFGH_moreblahblahblah
3   | IJKLMNOP_moremoremoremore
Query:

select nvl (substr (value, 0, instr (value, '_')-1), значение) как вывод Из org;

ORG | VALUE
1   | ABC_blahblahblah
2   | DEFGH_moreblahblahblah
3   | IJKLMNOP_moremoremoremore
result:

output Азбука Деф Ijklmnop

ORG | VALUE
1   | ABC_blahblahblah
2   | DEFGH_moreblahblahblah
3   | IJKLMNOP_moremoremoremore
примечание:

для версий oracle10g, функция regexp_substr может использоваться в качестве альтернативы substr:

select regexp_substr (column, '^.*(? От your_table;

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3