sql >> Databasteknik >  >> RDS >> Oracle

Fråga Oracle-begränsning efter sökvillkorets värde

Ändra den andra hälften av din WHERE-klausul enligt följande

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

search_condition är en LÅNG datatyp och det begränsar snarare vad du kan göra med den. den sista parametern i SUBSTR anger längden på strängen som returneras så ändra det efter behov.

Ändrad eftersom jag hade glömt begränsningen för WHERE-klausuler, skapa i princip en PL/SQL-funktion för att göra ovanstående och använd den i din WHERE-sats,

Till exempel

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 det används här...



  1. Hur man returnerar en lista över giltiga tidszoner i Oracle Database

  2. Sök efter liknande ord med hjälp av ett index

  3. Databasdesign för användare och kontakter

  4. MySql:Ställ in gräns för dubblettkolumn