Ä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...