Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> SQL

MySQL के IF (), NULLIF (), और IFNULL () फ़ंक्शंस का उपयोग करना

अन्य प्रोग्रामिंग भाषाओं की तरह, संरचित क्वेरी भाषा में सशर्त विवरण होते हैं जो डेटा के प्रवाह को नियंत्रित करते हैं। यदि शर्त पूरी होती है तो IF फ़ंक्शन एक स्टेटमेंट देता है और अगर पूरा नहीं होता है तो दूसरा प्रकार का स्टेटमेंट (या बिल्कुल भी नहीं)। आइए MySQL का उपयोग करके SQL IF फ़ंक्शन को देखें।

तैयारी

यह SQL Fiddle एक नमूना स्कीमा से लिंक करता है जिसमें नाम, आयु और लिंग शामिल हैं - यही वह है जिसके साथ हम इस लेख में काम करते हैं। इस स्कीमा के साथ अपने स्वयं के आईडीई में एक तालिका बनाएं:

create table names (
   id INT,
   name VARCHAR(50),
   age INT,
   gender VARCHAR(50)
);
insert into names (id, name, age, gender) values (1, 'Bret Starkings', 55, 'M');
insert into names (id, name, age, gender) values (2, 'Bobbye Eyckel', 76, 'F');
insert into names (id, name, age, gender) values (3, 'Barbie Veschi', 50, 'F');
insert into names (id, name, age, gender) values (4, 'Electra Blazewicz', 47, 'F');
insert into names (id, name, age, gender) values (5, 'Estrella Borleace', 57, 'F');
insert into names (id, name, age, gender) values (6, 'Washington Pittwood', 75, 'M');
insert into names (id, name, age, gender) values (7, 'Phaedra Tertre', 27, 'F');
insert into names (id, name, age, gender) values (8, 'Nicolina Elie', 76, 'F');
insert into names (id, name, age, gender) values (9, 'Hugh Hughson', 86, 'M');
insert into names (id, name, age, gender) values (10, 'Dare Ravilious', 59, 'M');
insert into names (id, name, age, gender) values (11, 'Cad Levins', 13, 'M');
insert into names (id, name, age, gender) values (12, 'Sollie Kimbury', 33, 'M');
insert into names (id, name, age, gender) values (13, 'Elga Rearie', 61, 'F');
insert into names (id, name, age, gender) values (14, 'Cherey Terron', 54, 'F');
insert into names (id, name, age, gender) values (15, 'Abbie Kent', 23, 'F');
insert into names (id, name, age, gender) values (38, 'Nelia Picot', 2, 'F');
insert into names (id, name, age, gender) values (39, 'Benedetto Smithin', 33, 'M');
insert into names (id, name, age, gender) values (40, 'Rickie Maymand', 83, 'F');
insert into names (id, name, age, gender) values (41, 'Kristoforo Dashkov', 6, 'M');
insert into names (id, name, age, gender) values (42, 'Cherice Genty', 6, 'F');
insert into names (id, name, age, gender) values (43, 'Shirley Fake', 95, 'F');
insert into names (id, name, age, gender) values (44, 'Aeriel Plant', 36, 'F');
insert into names (id, name, age, gender) values (45, 'Halimeda Gook', 74, 'F');
insert into names (id, name, age, gender) values (46, 'Minor Harriot', 63, 'M');
insert into names (id, name, age, gender) values (47, 'Greggory Found', 61, 'M');
insert into names (id, name, age, gender) values (48, 'Vivien Braund', 94, 'F');
insert into names (id, name, age, gender) values (49, 'Gaylord Pochet', 96, 'M');
insert into names (id, name, age, gender) values (77, 'Nataline Sealand', 43, 'F')

IF()

IF(expression ,expr_true, expr_false);

MySQL डेटाबेस में IF फ़ंक्शन के लिए सिंटैक्स IF कीवर्ड का उपयोग करता है और फिर तीन मापदंडों में लेता है:बूलियन एक्सप्रेशन फ़ंक्शन का मूल्यांकन कर रहा है, यदि स्थिति सही है तो वापस जाने के लिए स्टेटमेंट और फिर कंडीशन के गलत होने पर वापस आने के लिए स्टेटमेंट .

SELECT name, age, IF(age >= 18, "YES", "NO") AS OVER_18
FROM names;

ऊपर दी गई हमारी क्वेरी हमारी प्रविष्टि के नाम और उम्र का चयन करती है और फिर एक सशर्त का चयन करती है जिसे हम OVER_18 कहते हैं। हमारे SQL आंशिक परिणाम नीचे दिखाए गए हैं (आप इस SQL ​​Fiddle में पूर्ण परिणाम देख सकते हैं):

नाम उम्र OVER_18
ब्रेट स्टार्किंग 55 हां
बॉबी आइकेल 76 हां
बार्बी वेस्ची 50 हां
इलेक्ट्रा ब्लेज़विक्ज़ 47 हां
एस्ट्रेला बोरलीस 57 हां
वाशिंगटन पिटवुड 75 हां
फेदरा टर्ट्रे 27 हां
निकोलिना एली 76 हां
ह्यूग ह्यूगसन 86 हां
साहसी साहसी 59 हां
कैड लेविन्स 13 नहीं

IFNULL()

IFNULL() एक सशर्त बयान है जो पूछता है कि पहली अभिव्यक्ति न्यूल है या नहीं। यदि ऐसा है, तो यह दूसरी अभिव्यक्ति देता है, न कि पहला।

IFNULL(NULL, 2) ⇒ returns 2
IFNULL(0, 4) ⇒ returns 0

SELECT name, IFNULL(age, "NOT ENTERED") AS age
FROM names;

यह MySQL स्टेटमेंट आयु नामक एक कॉलम देता है जो प्रत्येक NULL प्रविष्टि को "NOT ENTERED" स्ट्रिंग के साथ अधिलेखित कर देगा।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

NULLIF()

NULLIF() फ़ंक्शन में पारित होने वाले दोनों भाव बराबर होने पर NULL लौटाता है।

SELECT name, NULLIF(name, age) AS 
FROM names;

यह एक चरम उदाहरण है क्योंकि शायद ऐसा कोई मामला नहीं होगा जहां नाम और उम्र बराबर हो, लेकिन कम से कम सिंटैक्स इस तरह लिखा जाएगा। क्या आप किसी ऐसे मामले के बारे में सोच सकते हैं जहां यह स्टेटमेंट ब्लॉक फायदेमंद होगा?

निष्कर्ष

MySQL में, कुछ अलग-अलग if फ़ंक्शन हैं जो हमें अपने डेटा के प्रवाह को नियंत्रित करने की अनुमति देते हैं। आप जिस भी डेटाबेस के साथ काम कर रहे हैं, इन अवधारणाओं का अनुवाद किया जाता है - अपने विशिष्ट डेटाबेस के बारे में सिंटैक्स के बारे में अधिक जानकारी के लिए दस्तावेज़ देखें।


  1. encodeURI() और decodeURI() जावास्क्रिप्ट में कार्य करता है।

    encodeURI() फ़ंक्शन (, / ? :@ &=+ $ #) वर्णों को छोड़कर विशेष वर्णों सहित संपूर्ण URI को एन्कोड करता है। decodeURI () फ़ंक्शन encodeURI () फ़ंक्शन द्वारा उत्पन्न URI को डिकोड करता है। जावास्क्रिप्ट में encodeURI() और decodeURI() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैम

  1. हैश फ़ंक्शंस और हैश टेबल्स

    हैशिंग एक गणितीय फ़ंक्शन का उपयोग करके किसी टेक्स्ट या संख्याओं की सूची से एक मान उत्पन्न करने की प्रक्रिया है जिसे हैश फ़ंक्शन के रूप में जाना जाता है। कई हैश फ़ंक्शन हैं जो संख्यात्मक संख्यात्मक या अल्फ़ान्यूमेरिक कुंजियों का उपयोग करते हैं। विभिन्न हैश फंक्शन नीचे दिए गए हैं: हैश फंक्शन कुछ हैश

  1. मैक पर पायथन 3 का उन्नयन और उपयोग करना

    आप सोच सकते हैं कि आपके बिलकुल नए Mac में सभी प्रासंगिक सॉफ़्टवेयर का नवीनतम संस्करण है। अधिकांश उपयोगकर्ता ऐप्स के लिए, आप सही होंगे, लेकिन अंतर्निहित ढांचे के लिए यह एक अलग कहानी है। नए मैक अभी भी पायथन 2.7.10 के साथ जहाज करते हैं, भले ही सबसे हालिया स्थिर रिलीज पायथन 3.5 है। यदि यह संस्करणों के ब