sql >> Base de Datos >  >> RDS >> Oracle

Consulta la restricción de Oracle después del valor de search_condition

Modifique la segunda mitad de su cláusula WHERE de la siguiente manera

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

search_condition es un tipo de datos LARGO y eso limita bastante lo que puede hacer con él. el último parámetro de SUBSTR proporciona la longitud de la cadena devuelta, así que modifíquela según sea necesario.

Modificado porque había olvidado la restricción en las cláusulas WHERE, básicamente cree una función PL/SQL para hacer lo anterior y utilícela en su cláusula WHERE,

Por ejemplo

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;

Como se usa aquí....