Я полагаю, что это также сработало бы:
select count(distinct switch_id)
from xx_new.xx_cti_call_details@appsread.prd.com
where
dealer_name = 'XXXX'
and (creation_date BETWEEN add_months(trunc(sysdate,'mm'),-1) and trunc(sysdate, 'mm'))
У него есть преимущество в использовании BETWEEN , который использовал OP в качестве критериев выбора даты.