QGIS क्वेरी सिंटैक्स विशेषता तालिका और सुविधा फ़िल्टर के बीच भिन्न होता है


11

QGIS २.१६.२ का उपयोग करते हुए, मैं निम्नलिखित आकृति का उपयोग करके आकृति आकृति विशेषता तालिका से रिकॉर्ड का सफलतापूर्वक चयन कर सकता हूं:

left("start_time", 10) = '2015-08-01'

कृपया ध्यान दें कि start_time एक स्ट्रिंग फ़ील्ड है।

हालाँकि, जब मैं आकृति के लेयर गुण> सामान्य> फ़ीचर फ़िल्टर> क्वेरी बिल्डर में निम्न अभिव्यक्ति को कॉपी और पेस्ट करता हूँ तो मुझे निम्न त्रुटि मिलती है:

यहाँ छवि विवरण दर्ज करें

मुझे उम्मीद है कि QGIS में हर जगह एक ही अभिव्यक्ति काम करेगी। मैं क्या गलत कर रहा हूं?

जवाबों:


12

आपका अवलोकन सही है, क्वेरी बिल्डर बाकी QGIS के समान सिंटैक्स का उपयोग नहीं करता है।

QGIS के दौरान, वाक्य-विन्यास QGIS अभिव्यक्तियों पर एक अनुकूलित SQL बोली पर आधारित है । यह QGIS के लगभग सभी हिस्सों के बीच पोर्टेबल है जहां आप एक फ़िल्टर दर्ज कर सकते हैं, एक मान की गणना कर सकते हैं ... इस सिंटैक्स को सीधे QGIS में मूल्यांकन किया जाता है (और इसके कुछ हिस्सों को कभी-कभी प्रदाता को भेजा जा सकता है)।

प्रदाता सुविधा फिल्टर के माध्यम से परिभाषित क्वेरी बिल्डर (भी अक्सर के रूप में भेजा सबसेट स्ट्रिंग ) परत के लिए रास्ता है कि QGIS सब पर इस पर गौर नहीं करता है में अलग अलग काम करता है। यह सब वह प्रदाता को भेज देता है। इस स्थिति में प्रदाता OGR है जो केवल SQL सिंटैक्स के सबसेट का समर्थन करता है, लेकिन कभी-कभी यह बहुत शक्तिशाली होता है, जैसे कि पोस्टग्रैज / पोस्टगिस डेटाबेस तक पहुँचने पर।


जानकार अच्छा लगा। मैंने फ़िल्टर में निम्नलिखित क्वेरी का उपयोग किया, और इसने उस चयन को सही ढंग से बदल दिया जिसे मैंने पहले आज़माया था: "start_time" LIKE '2015-08-01%'
Stu Smith
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.