Altere a segunda metade da sua cláusula WHERE da seguinte forma
SUBSTR(search_condition, 1, 21) = 'whatever you're after'
search_condition é um tipo de dados LONG e isso limita o que você pode fazer com ele. o último parâmetro do SUBSTR fornece o comprimento da string retornada, então altere conforme necessário.
Alterado como eu tinha esquecido a restrição nas cláusulas WHERE, basicamente crie uma função PL/SQL para fazer o acima e use isso em sua cláusula WHERE,
Por exemplo
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 usado aqui....