У меня есть тест, который я должен регулярно использовать в запросах, чтобы проверить, является ли счет CPT платным. В запросе SQL тест выглядит следующим образом:
where (pvp.code between '99201' and '99215'
or pvp.code between '99221' and '99239')
плюс еще куча других диапазонов.
Я пытался создать функцию, просто подключив ее к функции, но я получил ошибку «неправильного синтаксиса» - на самом деле, это не удивительно.
CREATE FUNCTION IsEncounter
(
@code varchar(20)
)
RETURNS bit
AS
BEGIN
DECLARE @Result bit;
SELECT @Result = @code between '99201' and '99215'
or @code between '99221' and '99239';
-- Return the result of the function
RETURN @Result;
END
Полагаю, я могу сделать что-то вроде
if (@code >= '99201' and @code <= '99215')
or (@code >= '99221' and @code <= '99239')
select @Result = 1
else
select @Result = 0;
но я бы хотел знать самый чистый способ сделать это. Спасибо.