/ / Azure DocumentDb पर केस असंवेदनशील खोज कैसे करें? - अज्योर-कॉसमॉसब

Azure DocumentDb पर केस असंवेदनशील खोज कैसे करें? - Azure-cosmosdb

क्या डोक्यूमनेटडब पर केस असंवेदनशील खोज करना संभव है?

मान लें कि मेरे पास "नाम" कुंजी के साथ एक रिकॉर्ड है और "टिंबकटू" के रूप में मूल्य है

यह काम करेगा:

select * from json j where j.name  = "Timbaktu"

यह अभ्यस्त:

select * from json j where j.name  = "timbaktu"

तो कैसे यो एक मामले असंवेदनशील खोज करते हैं?

अग्रिम में धन्यवाद।

सादर।

उत्तर:

उत्तर № 1 के लिए 12

इसे करने के दो तरीके हैं। 1. उदाहरण के लिए, अंतर्निहित LOWER / UPPER फ़ंक्शन का उपयोग करें,

select * from json j where LOWER(j.name) = "timbaktu"

हालांकि यह एक स्कैन की आवश्यकता होगी। एक और अधिक कुशल तरीका "कैनोनिकलाइज़्ड" फॉर्म को स्टोर करना है जैसे। लोअरकेस और क्वेरी के लिए उपयोग करें। उदाहरण के लिए, JSON होगा

{ name: "Timbaktu", nameLowerCase: "timbaktu" }

फिर इसे क्वेरी के लिए उपयोग करें जैसे:

select * from json j WHERE j.nameLowerCase = "timbaktu"

उम्मीद है की यह मदद करेगा।


जवाब के लिए 0 № 2

शायद यह एक प्राचीन मामला है, मैं सिर्फ एक समाधान प्रदान करना चाहता हूं।

आप उपयोग कर सकते हैं यूडीएफ azure cosmos db में।

यूडीएफ:

function userDefinedFunction(str){
return str .toLowerCase();
}

और क्वेरी परिणामों के लिए sql से नीचे का उपयोग करें:

SELECT c.firstName FROM c where udf.lowerConvert(c.firstName) = udf.lowerConvert("John")

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