Фильтр по дате не работает

Подскажите, пожалуйста, не могу понять в чем проблема. Есть запрос:

select ID
   , PhoneNum
   , DateCall
   , CONVERT(varchar, DATEADD(ss, (Duration), 0), 108) as "Duration"    
from Calls 
where 
    DateCall > '2022-04-01 00:00:00' 
    and DateCall < '2022-05-01 00:00:00' 
    and len(PhoneNum) = 12 
    and PhoneNum like '9811%' 
    or PhoneNum like '9822%' 
    or PhoneNum like '9833%'

Если я делаю запрос в таком формате, то у меня идет выборка по всем датам, а не только по выбранной в запросе. Если like убрать, то выборка по дате работает корректно.


Ответы (1 шт):

Автор решения: teran

ваши условия сейчас равносильны (x & y & a) || b || c а надо вам x & y & (a || b || c)

AND (
 phonenum like ...
 OR phonenum like ...
 OR phonenum like ...
)
→ Ссылка