यह आसान हो सकता है, लेकिन मैं कोई एसक्यूएल नहीं हूं इसलिए मैं खो रहा हूं। मैं समझता हूँ कि एसक्यूएल आपकी क्वेरी लेता है और एक निश्चित क्रम में यह निष्पादित करता है, जो मेरा मानना है कि यही कारण है कि इस क्वेरी से काम नहीं करता है:जांचें कि फ़ील्ड संख्यात्मक है, फिर केवल एक ही कथन में उन फ़ील्ड पर तुलना निष्पादित करें?
select * from purchaseorders
where IsNumeric(purchase_order_number) = 1
and cast(purchase_order_number as int) >= 7
purchar_order_number क्षेत्रों में से सबसे सांख्यिक हैं, लेकिन हम हाल ही में अक्षरांकीय लोगों परिचय। जिस डेटा को मैं प्राप्त करने का प्रयास कर रहा हूं वह यह देखने के लिए है कि '7' उच्चतम संख्यात्मक खरीद_ऑर्डर_नंबर से अधिक है या नहीं।
संख्यात्मक() फ़ंक्शन ठीक अक्षरांकीय क्षेत्रों को फ़िल्टर कर देता है, लेकिन बाद डाली तुलना कर इस त्रुटि फेंकता है:
Conversion failed when converting the nvarchar value '124-4356AB' to data type int.
मैं नहीं कह रहा हूँ कि क्या त्रुटि का अर्थ है, कि स्पष्ट है। मैं पूछ रहा हूं कि एक ही प्रश्न में जो कुछ मैं चाहता हूं उसे पूरा करने का कोई तरीका है, अधिमानतः ओआरएम बाधाओं के कारण जहां खंड में।
चूंकि यह केवल एक अंक, आप बस कह सकते हैं 'और PURCHASE_ORDER_NUMBER> '7'' –
आप अनुक्रमित सहित' purchaseorders' तालिका के लिए स्कीमा प्रदान कर सकते हैं क्या है? मैं एक रेपो बनाने की कोशिश कर रहा हूं - मैं वर्तमान में श्याज के उदाहरण के साथ त्रुटि संदेश प्राप्त कर सकता हूं लेकिन आपके साथ नहीं। –