Microsoft SQL Server
यदि नहीं तो
खोज…
सिंगल आईएफ स्टेटमेंट
अधिकांश अन्य प्रोग्रामिंग भाषाओं की तरह, टी-एसक्यूएल भी IF..ELSE स्टेटमेंट का समर्थन करता है।
1 = 1
से नीचे के उदाहरण में उदाहरण के लिए, जो True का मूल्यांकन करता है और नियंत्रण BEGIN..END
प्रवेश करता है.. BEGIN..END
ब्लॉक और प्रिंट स्टेटमेंट स्ट्रिंग को 'One is equal to One'
प्रिंट करता 'One is equal to One'
IF ( 1 = 1) --<-- Some Expression
BEGIN
PRINT 'One is equal to One'
END
एकाधिक IF कथन
हम एक से अधिक पूरी तरह से स्वतंत्र कई भावों की जांच करने के लिए कई IF स्टेटमेंट का उपयोग कर सकते हैं।
नीचे दिए गए उदाहरण में, प्रत्येक IF
स्टेटमेंट की अभिव्यक्ति का मूल्यांकन किया गया है और यदि यह BEGIN...END
के अंदर कोड सही है BEGIN...END
ब्लॉक निष्पादित किया गया है। इस विशेष उदाहरण में, प्रथम और तृतीय भाव सत्य हैं और केवल उन प्रिंट कथनों को निष्पादित किया जाएगा।
IF (1 = 1) --<-- Some Expression --<-- This is true
BEGIN
PRINT 'First IF is True' --<-- this will be executed
END
IF (1 = 2) --<-- Some Expression
BEGIN
PRINT 'Second IF is True'
END
IF (3 = 3) --<-- Some Expression --<-- This true
BEGIN
PRINT 'Thrid IF is True' --<-- this will be executed
END
सिंगल IF..ELSE स्टेटमेंट
एक भी IF..ELSE
स्टेटमेंट में, अगर IF
स्टेटमेंट में True का मूल्यांकन करता है, तो कंट्रोल पहले BEGIN..END
ब्लॉक में प्रवेश करता है और केवल उस ब्लॉक के अंदर का कोड ही BEGIN..END
हो जाता है, एल्स ब्लॉक को केवल नजरअंदाज कर दिया जाता है।
दूसरी ओर अगर अभिव्यक्ति ELSE BEGIN..END
को False
ELSE BEGIN..END
ब्लॉक निष्पादित हो जाता है और नियंत्रण कभी भी पहले BEGIN..END
ब्लॉक में प्रवेश नहीं करता है।
नीचे दिए गए उदाहरण में अभिव्यक्ति गलत का मूल्यांकन करेगी और एल्स ब्लॉक को स्ट्रिंग प्रिंट किया जाएगा 'First expression was not true'
IF ( 1 <> 1) --<-- Some Expression
BEGIN
PRINT 'One is equal to One'
END
ELSE
BEGIN
PRINT 'First expression was not true'
END
अंतिम IFSE कथन के साथ एकाधिक IF ... ELSE
अगर हमारे पास एकाधिक IF...ELSE IF
स्टेटमेंट्स हैं, लेकिन हम यह भी चाहते हैं कि कुछ कोड को निष्पादित करना चाहते हैं यदि किसी भी एक्सप्रेशन का मूल्यांकन True से नहीं किया जाता है, तो हम एक अंतिम ELSE
ब्लॉक जोड़ सकते हैं, जो केवल IF
ही निष्पादित हो जाता है या ELSE IF
अभिव्यक्तियों का मूल्यांकन सही है।
नीचे दिए गए उदाहरण में IF
या ELSE IF
में से कोई भी अभिव्यक्ति सही नहीं है, इसलिए केवल ELSE
ब्लॉक निष्पादित किया गया है और 'No other expression is true'
प्रिंट करता 'No other expression is true'
IF ( 1 = 1 + 1 )
BEGIN
PRINT 'First If Condition'
END
ELSE IF (1 = 2)
BEGIN
PRINT 'Second If Else Block'
END
ELSE IF (1 = 3)
BEGIN
PRINT 'Third If Else Block'
END
ELSE
BEGIN
PRINT 'No other expression is true' --<-- Only this statement will be printed
END
एकाधिक IF ... ELSE कथन
अधिक बार हमें कई अभिव्यक्तियों की जांच करने और उन अभिव्यक्तियों के आधार पर विशिष्ट क्रियाएं करने की आवश्यकता नहीं होती है। इस स्थिति को कई IF...ELSE IF
स्टेटमेंट्स का उपयोग करके नियंत्रित किया जाता है।
इस उदाहरण में सभी अभिव्यक्तियों का मूल्यांकन ऊपर से नीचे तक किया जाता है। जैसे ही कोई अभिव्यक्ति सत्य का मूल्यांकन करती है, उस ब्लॉक के अंदर का कोड निष्पादित हो जाता है। यदि किसी अभिव्यक्ति का सही मूल्यांकन नहीं किया जाता है, तो कुछ भी निष्पादित नहीं होता है।
IF (1 = 1 + 1)
BEGIN
PRINT 'First If Condition'
END
ELSE IF (1 = 2)
BEGIN
PRINT 'Second If Else Block'
END
ELSE IF (1 = 3)
BEGIN
PRINT 'Third If Else Block'
END
ELSE IF (1 = 1) --<-- This is True
BEGIN
PRINT 'Last Else Block' --<-- Only this statement will be printed
END