В Oracle, to_date('202001','yyyyMM')
создает значение date
, представляющее 1 января 2020 года.
Вы можете получить тот же результат на SQL Сервере с выражением, например cast('2020-01-01' as date)
или cast('20200101' as date)
.
Если ваш ввод ('202001'
) поступает извне запроса и вы не можете изменить его значение, вы можете объединить '01'
в конце: cast(concat(@myparam, '01') as date)
.
В остальной части запроса есть синтаксические ошибки:
- пропущенные кавычки вокруг
'Not Paid'
- пропущенное ключевое слово
end
в конце выражения case
- отсутствует
from
предложение - лишние закрывающие скобки в конце запроса
Стоит также отметить, что условие в выражении case
можно упростить удалив лишний предикат is not null
:
select
name,
case when PaymentDate <= cast('2020-01-01' as date)
then 'Paid'
else NotPaid
end
from mytable
where empId in (%s);