Bu basit olabilir, ancak ben SQL vızıltı değilim, bu yüzden kayboluyorum. Ben sql sorgunuzu alır ve bu sorgu neden çalışmıyor olduğuna inanıyoruz olan belirli bir sırayla çalıştırır anlıyoruz: purchar_order_number alanlarının EN Alanın sayısal olup olmadığını kontrol edin, ardından yalnızca bir alandaki alandaki karşılaştırmayı yürütün?
select * from purchaseorders
where IsNumeric(purchase_order_number) = 1
and cast(purchase_order_number as int) >= 7
sayısal, ama biz son zamanlarda alfanümerik olanları tanıtmak. Almaya çalıştığım veriler, '7' en yüksek sayısal satın alma_tarih_sayı olup olmadığını görmek.
Sayısal() fonksiyonu ince alfanümerik alanları filtreleyen, ancak daha sonraki döküm karşılaştırma yapıyor bu hatayı atar: Ben hata ne anlama geldiğini soran değilim
Conversion failed when converting the nvarchar value '124-4356AB' to data type int.
, aşikârdır. Tek bir sorguda istediğimi yerine getirmenin bir yolu olup olmadığını, tercihen ORM kısıtlamalarına bağlı olarak nerede olduğunu soruyorum.
yalnızca bir basamak, sadece –
Eğer dizinleri dahil 'purchaseorders' tablo için şema sağlayabilir 7'' PURCHASE_ORDER_NUMBER>' demek' VE olabilir olduğuna göre? Bir repro oluşturmaya çalışıyorum - şu anda hata mesajını ShyJ'in örneğiyle alabiliyorum ama sizinkilerle değil. –