sql >> Databáze >  >> RDS >> Oracle

Omezení dotazu Oracle po hodnotě search_condition

Upravte druhou polovinu klauzule WHERE takto

SUBSTR(search_condition, 1, 21) = 'whatever you're after'

search_condition je datový typ LONG a to spíše omezuje, co s ním můžete dělat. poslední parametr SUBSTR udává délku vráceného řetězce, takže ji upravte podle potřeby.

Upraveno, protože jsem zapomněl omezení na klauzule WHERE, v podstatě vytvořte funkci PL/SQL, která provede výše uvedené a použije ji ve své klauzuli WHERE,

Například

FUNCTION get_long_16(pFormID NUMBER, pSectionItemID NUMBER, pSequence NUMBER)
  RETURN VARCHAR2
  AS
          l_data LONG;
  BEGIN
      SELECT far.text_answer
        INTO l_data
        FROM form_answers_repeating far
       WHERE far.form_id = pFormID
         AND far.section_item_id = pSectionItemID
         AND far.sequence = pSequence;

      RETURN SUBSTR(l_data, 1, 16);
  END;

Jak je použito zde....



  1. Jak používat funkci Substring v PostgreSQL a Redshift

  2. Export dat do souboru JSON v Oracle 11g pomocí PL/SQL

  3. Rozdělit hodnotu oddělenou čárkou ze sloupce tabulky do řádků pomocí mysql?

  4. Návrh databáze pro náborový systém