SQLite में, iif()
एक सशर्त फ़ंक्शन है जो पहले तर्क के मूल्यांकन के आधार पर दूसरा या तीसरा तर्क देता है।
यह तार्किक रूप से CASE WHEN X THEN Y ELSE Z END
के बराबर है ।
iif()
तत्काल IF . का संक्षिप्त नाम है ।
iif()
फ़ंक्शन को SQLite 3.32.0 में पेश किया गया था, जो 22 मई 2020 को जारी किया गया था।
सिंटैक्स
वाक्य रचना इस प्रकार है:
iif(X,Y,Z)
कहां:
- X मूल्यांकन की जाने वाली अभिव्यक्ति है।
- वाई परिभाषित करता है कि क्या लौटाया जाता है यदि X . का मूल्यांकन किया जाता है सच लौटता है।
- Z परिभाषित करता है कि क्या लौटाया जाता है यदि X . का मूल्यांकन किया जाता है झूठी वापसी।
इसके बारे में सोचने का दूसरा तरीका इस प्रकार है:
iif(expr, truepart, falsepart)
उदाहरण
यह दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है कि कैसे iif()
काम करता है।
SELECT iif( 1 < 2, "True", "False" );
परिणाम:
True
इस मामले में, मूल्यांकन करने के लिए अभिव्यक्ति 1 < 2
. थी . यह सच है कि 1 2 से कम है इसलिए दूसरा तर्क वापस कर दिया गया।
यह निम्नलिखित करने के बराबर है।
SELECT
CASE WHEN 1 < 2 THEN "True"
ELSE "False"
END;
परिणाम:
True
इन उदाहरणों में मैंने "सच" और "गलत" शब्दों का इस्तेमाल किया, लेकिन मैं कुछ भी इस्तेमाल कर सकता था।
उदाहरण के लिए, मैं इसके बजाय ऐसा कर सकता था:
SELECT iif( 1 < 2, "Fail", "Pass" );
परिणाम:
Fail
या यह "सत्य" या "झूठे" बाइनरी-प्रकार के उत्तर से पूरी तरह से हटाया गया कुछ हो सकता है।
उदाहरण के लिए:
SELECT iif( 1 < 2, "Sticky Rice", "Banana Smoothie" );
परिणाम:
Sticky Rice
डेटाबेस उदाहरण
यहां एक उदाहरण दिया गया है जो डेटाबेस से कॉलम का उपयोग करता है।
SELECT
ProductName,
Qty,
iif( Qty < 10, "Order more", "Sufficient stock" ) AS Notes
FROM Products;
परिणाम:
ProductName Qty Notes ----------- ---------- ---------------- Hammer 10 Sufficient stock Saw 5 Order more Wrench 7 Order more Chisel 9 Order more Bandage 70 Sufficient stock