एक क्षेत्र के विशिष्ट भाग में आर्कजीस क्वेरी विशिष्ट चरित्र (s)


9

ArcGIS 10.2.2 का उपयोग करते हुए, मेरे पास SDE विशेषता तालिका में एक स्ट्रिंग फ़ील्ड है। मुझे उन सभी रिकॉर्डों का चयन करने के लिए एक क्वेरी बनाने में मदद करने की ज़रूरत है जो क्षेत्र के 6 वें और 7 वें चरित्र में शून्य हैं (अर्थात 1995-0023A)। इस प्रकार के क्वेरी को बेहतर ढंग से समझने में मेरी मदद करने के लिए, मैं एक ऐसी क्वेरी को देखने में सक्षम होना चाहूंगा जो क्षेत्र के सिर्फ 6 वें वर्ण में शून्य के साथ रिकॉर्ड का चयन करती है। फिर मैं "और" क्लॉज़ का उपयोग कर सकता हूं और इसे 7 वें वर्ण का चयन करने के लिए डुप्लिकेट कर सकता हूं।

मैंने विविधताओं की कोशिश की है, "FIELD1" LIKE '%00_______'लेकिन यह स्ट्रिंग में सही जगह पर डबल शून्य के साथ रिकॉर्ड का चयन नहीं करता है।


मैंने "FIELD1" LIKE '% 00 _______' के रूपांतरों की कोशिश की है, लेकिन यह स्ट्रिंग में सही जगह पर डबल शून्य के साथ रिकॉर्ड का चयन नहीं करता है।
स्टीव

कुछ पसंद है "FIELD1" LIKE '_____00%'? यह पांच चरित्र वाइल्डकार्ड, फिर आपके दो शून्य, फिर बाकी स्ट्रिंग के लिए एक और वाइल्डकार्ड का उपयोग करेगा। ये किस प्रकार के डेटाबेस में हैं? SQL सर्वर, ओरेकल, कुछ और? कृपया संपादित अपने प्रश्न के ऊपर अपनी टिप्पणी से जानकारी है, और अपने डेटाबेस (संस्करण रिलीज आदि) के बारे में विवरण शामिल करने के लिए
Midavalo

"field_name" '% 00% LIKE' करें इससे सभी फ़ील्ड डबल शून्य के साथ एक दूसरे के पास वापस आ जाएँगे यदि वह मदद करता है तो 6 या 7 वें स्थान का उपयोग नहीं करता है।
NULL.Dude

एक अंडरस्कोर _का उपयोग कुछ डेटाबेस में एकल वर्ण स्थान वाइल्डकार्ड के रूप में किया जाता है। एक प्रतिशत %सभी वर्ण स्थानों के लिए वाइल्डकार्ड है।
Midavalo

1
धन्यवाद दोस्तों, ऐसा लगता है कि मैंने क्वेरी को उलट दिया था। Midavalo के सुझाव ने काम किया: FIELD1 '_____ 00%' पसंद करता है। इसका एक Oracle DB है।
स्टीव

जवाबों:


12

एक अंडरस्कोर _का उपयोग कुछ डेटाबेस में एकल वर्ण स्थान वाइल्डकार्ड के रूप में किया जाता है। एक प्रतिशत %सभी वर्ण स्थानों के लिए वाइल्डकार्ड है।

इसलिए, "FIELD1" LIKE '_____00%'डेटाबेस के प्रकार के आधार पर कुछ काम करना चाहिए। यह पांच चरित्र वाइल्डकार्ड, फिर आपके दो शून्य, फिर बाकी स्ट्रिंग के लिए एक और वाइल्डकार्ड का उपयोग करेगा।


क्या यह MS SQL सर्वर DB में भी काम करेगा?
NULL.Dude

1
@ हाँ, यह होना चाहिए - मैंने SQL सर्वर में अतीत में इसी तरह के प्रश्नों के लिए इस पद्धति का उपयोग किया है, लेकिन मैं अभी इसका परीक्षण नहीं कर सकता।
Midavalo

3

निम्नलिखित उन सभी रिकॉर्डों का चयन करेगा जिनमें 6 वीं वर्ण स्थिति के साथ-साथ 7 वें वर्ण स्थिति में एक शून्य है।

FIELDNAME like '_____0%' and FIELDNAME like '______0%'

अभिव्यक्ति के पहले भाग में शून्य से पहले पाँच अंडरस्कोर हैं और फिर दूसरे हिस्से में शून्य से पहले छह अंडरस्कोर हैं। अंडरस्कोर एक 'वाइल्डकार्ड' है जिसमें किसी भी वर्ण को उपस्थित होने की आवश्यकता होती है (यह एक स्थान, एक संख्या, एक अक्षर, एक प्रतीक, आदि हो सकता है)। प्रतिशत (%) वाइल्डकार्ड कुछ भी पालन करने की अनुमति देता है (कुछ भी नहीं का पालन करने की अनुमति देता है - किसी भी चरित्र की आवश्यकता नहीं है)।

क्वेरी करने के लिए एक अधिक सफल तरीका होगा

FIELDNAME like '_____00%'

-1

यह RDBMS पर निर्भर है, हालांकि निम्नलिखित में सबसे अधिक काम करना चाहिए:

SUBSTRING (फ़ील्डनाम, 6, 2) = '00'


GIS SE में आपका स्वागत है! एक नए उपयोगकर्ता के रूप में कृपया हमारे ध्यान केंद्रित किए गए प्रश्नोत्तर प्रारूप के बारे में जानने के लिए भ्रमण करें। क्या आपने यह काम सफलतापूर्वक किया है? मेरे अनुभव SUBSTRING()में ArcMap की सीमित SQL में कभी काम नहीं किया। क्या यह वह जगह है जहाँ आप इसका उपयोग करते हैं, या आप इसे कहीं और इस्तेमाल करते हैं? क्या आप इस पर विस्तार करने के लिए अपना उत्तर संपादित कर सकते हैं ?
Midavalo

ओपी ने कहा कि यह एसडीई में था, फाइल जियोडैटेबेस, एमडीबी या शेपफाइल नहीं। SDE एक RDBMS तय करता है। ArcMap क्वेरी SQL के उस हिस्से पर आधारित है, जो विशेष RDBMS पर आधारित है जहां SDE मौजूद है (यह जानना महत्वपूर्ण है कि डेटा किस प्रकार के डेटाबेस में है, क्योंकि सिंटैक्स अलग हो सकता है)। हां, मैंने अपने 20+ वर्षों में एसडीई प्रशासक के रूप में कई बार सफलतापूर्वक यह प्रदर्शन किया है। मैंने इसे एक विकल्प के रूप में फेंक दिया है, क्योंकि सभी RDBMS '_' विकल्प का उपयोग नहीं करेंगे। मेरा समाधान सरल और यकीनन पुराना है, लेकिन यह एक एसडीई वातावरण में काम करता है।
कैप्चर

मैंने पूछा क्योंकि मैंने पिछले सप्ताह इसका परीक्षण किया था और यह काम नहीं किया। मैंने इसे गलत किया हो सकता है, लेकिन यह मेरे लिए काम नहीं करता है।
Midavalo

SDE में? यदि हां, तो आपका SDE कौन सा RDBMS बैठता है? वास्तव में, मैं उत्सुक हूं, क्योंकि RDBMS वातावरण मुझे अंतरंगता देता है, विशेष रूप से मतभेदों के लिए। मैंने इसे पोस्ट करने से पहले (Oracle और SQL सर्वर पर सफल) परीक्षण किया। आकार-निर्धारण के लिए SUBSTRING अमान्य होगी। यह फाइल जियोडैट डेटाबेस के लिए काम करेगा।
कैप्टन

btw, Oracle का सिंटैक्स SUBSTR है।
कैप्चर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.