Eu estou supondo que você está usando Oracle. Em caso afirmativo, a
DATE tipo de dados contém um componente de tempo. Isso é bastante confuso. Mas você pode fazer o que quiser usando TRUNC() em vez de CAST() :SELECT TRUNC(HOLIDAY_DATE), DATE '2011-04-16' --into DAY_COUNT
FROM ATL_JOB_HOLIDAY jh JOIN
ATL_MASTER_JOB mj
ON mj.MASTER_JOB_ID = jh.MASTER_JOB_ID
WHERE TRUNC(HOLIDAY_DATE) = DATE '2011-04-16';
Observe também a preferência por datas padrão ANSI e por aliases de tabela.