Это может быть просто, но я не SQL-свист, поэтому я теряюсь. Я понимаю, что sql берет ваш запрос и выполняет его в определенном порядке, и я считаю, почему этот запрос не работает:
select * from purchaseorders
where IsNumeric(purchase_order_number) = 1
and cast(purchase_order_number as int) >= 7
MOST полей buyer_order_number является числовым, но мы вводим буквенно-цифровые данные в последнее время. Данные, которые я пытаюсь получить, - это увидеть, является ли "7" больше, чем наивысший числовой номер_обязания_документа.
Функция Numeric() отфильтровывает буквенно-цифровые поля в порядке, но выполнение последующего сравнения сравнения вызывает эту ошибку:
Conversion failed when converting the nvarchar value '124-4356AB' to data type int.
Я не спрашиваю, что означает ошибка, это очевидно. Я спрашиваю, есть ли способ выполнить то, что я хочу, в одном запросе, предпочтительно в предложении where из-за ограничений ORM.