これは簡単かもしれませんが、私はSQLの専門家ではないので、迷子になっています。SQLがクエリを受け取り、特定の順序で実行することを理解しています。これが、このクエリが機能しない理由だと思います。
select * from purchaseorders
where IsNumeric(purchase_order_number) = 1
and cast(purchase_order_number as int) >= 7
purchar_order_numberフィールドのほとんどは数値ですが、最近英数字のフィールドを導入しました。私が取得しようとしているデータは、「7」が最大の数値のpurchase_order_numberより大きいかどうかを確認することです。
Numeric()関数は英数字フィールドを適切に除外しますが、後続のキャスト比較を実行すると、次のエラーがスローされます。
Conversion failed when converting the nvarchar value '124-4356AB' to data type int.
私はエラーが何を意味するのか尋ねていません、それは明らかです。単一のクエリで、できればORMの制約があるため、where句で目的を達成する方法があるかどうかを尋ねています。