sql >> Database teknologi >  >> RDS >> Oracle

Forespørgsel Oracle-begrænsning efter søgetilstands værdi

Rediger anden halvdel af din WHERE-klausul som følger

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

search_condition er en LANG datatype, og det begrænser snarere, hvad du kan gøre med den. den sidste parameter i SUBSTR angiver længden af ​​den returnerede streng, så tilpas det efter behov.

Ændret, da jeg havde glemt begrænsningen af ​​WHERE-klausuler, lav grundlæggende en PL/SQL-funktion for at gøre ovenstående og brug den i din WHERE-klausul,

For eksempel

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;

Som brugt her...



  1. Hvordan bestiller man efter en bestemt del af en streng?

  2. Langsomme Postgres 9.3-forespørgsler

  3. Skinner udvider felter med omfang, det kan PG ikke lide

  4. Byg keycloak docker hub-billede i openshift fra ny app-kommando