मेरे पास 2 कॉलम वाली एक टेबल है

column1   column2
abcd      abdc
abcr      dfgh
cvge      cbge

मैं इस तरह से 2 फ़ील्ड के बीच अंतर दिखाने वाले परिणामों के साथ तीसरा कॉलम प्राप्त करने के लिए एसक्यूएल क्वेरी जानना चाहता हूं

column1   column2    calculated field
abcd      abdc       2
abcr      dfgh       0
cvge      cbge       3
0
Datalearner 15 सितंबर 2020, 16:36

1 उत्तर

सबसे बढ़िया उत्तर

यदि फ़ील्ड में हमेशा चार वर्ण होते हैं, तो आप case व्यंजक का उपयोग कर सकते हैं। यह कुछ इस प्रकार है:

select ( (case when substr(field1, 1, 1) = substr(field2, 1, 1) then 1 else 0 end) +
         (case when substr(field1, 2, 1) = substr(field2, 2, 1) then 1 else 0 end) +
         (case when substr(field1, 3, 1) = substr(field2, 3, 1) then 1 else 0 end) +
         (case when substr(field1, 4, 1) = substr(field2, 4, 1) then 1 else 0 end)
       ) as calculated

ध्यान दें कि सभी डेटाबेस substr() की कार्यक्षमता का समर्थन करते हैं, लेकिन कुछ डेटाबेस में, फ़ंक्शन का एक अलग नाम हो सकता है।

0
Gordon Linoff 15 सितंबर 2020, 13:39