Я хотел бы заменить все значения, которые больше или равны 10, пустой строкой с оператором SQL CASE на моем Microsoft SQL Server 2017. Однако я получаю сообщение об ошибке:
Сообщение 102, Уровень 15, Состояние 1, Строка 13
Неверный синтаксис рядом с '>'.
Хотя есть некоторые вопросы, похожие на мой вопрос, я не могу найти ответ, который конкретно отвечает на мой вопрос. Например, этот вопрос здесь как использовать> = условие в SQL-выражении case? . Я также пробовал динамический запрос с временной таблицей, и это не помогло.
Вот мой код с определением таблицы и тестовыми данными, а также фактическим запросом, который я выполняю.
--table definition with two columns
declare @table table
(
person nvarchar(20),
digit decimal(10,2)
)
--insert test data with two records
insert into @table
select 'titimo', 9.51
union
select 'neriwo', 12.25
--the requirement is to not show the digit value if it is greater or equal to 10, but rather display an empty field.
--so, this is my select statement to meet this requirement that is failing
--with error message 'Incorrect syntax near >'
select
person,
case digit
when digit >= 10 then ''
else digit
end 'digit'
from @table
Из моего утверждения select выше, я ожидаю такого вывода:
person digit
------ -----
titimo 9.51
neriwo
Однако вывод не генерируется из-за сообщения об ошибке, которое я получаю.