Q:

Testar campo data em consulta Oracle

preciso tirar uma dúvida, estou a usar este to_date mostrado abaixo, por enquanto não temos validação e as vezes o usuário põe o caractere (…) ou outro caractere inválido no campo data, quebrando assim o to_date, por favor como eu posso só pegar a data e quando for caractere inválido ele deverá mostrar na linha um dado em branco ou um data fixa pré estipulada, como se fosse um if pois a linha com a data inválida terá que vir também. 
TO_DATE(PESQUISA_MEDALHA.PREVISAO_ENVIO, 'DD/MM/YY') = trunc(SYSDATE)

A:

Você pode usar uma expressão regular para validar se o texto digitado está de acordo com o que você espera. 
A função regexp_like verifica se o valor informado bate com o padrão esperado. 
Veja como fica:
WITH datas AS (
SELECT '13/10/2000' DATA FROM dual  UNION ALL
SELECT '01/01/2020' DATA FROM dual  UNION ALL
SELECT '13 10/2000' DATA FROM dual  UNION ALL
SELECT '13/13/2000' DATA FROM dual  UNION ALL
SELECT '13/13/2100' DATA FROM dual  UNION ALL
SELECT '13/13/1800' DATA FROM dual  UNION ALL
SELECT '32/11/1800' DATA FROM dual )

SELECT DATA,
       CASE 
         WHEN Regexp_like(DATA,'(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)') THEN 
           to_date(DATA,'dd/mm/yy') 
          ELSE 
           NULL 
       END sua_data
  FROM datas 

Veja este exemplo rodando SQL Fiddle. 
Mas como comentado acima, o ideal seria gravar os dados corretamente no banco de dados.