Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में IF स्टेटमेंट के साथ WHILE लूप कैसे सेट करें?

मैंने पाया है कि आपके पास MySQL में संग्रहीत प्रक्रिया के बाहर सशर्त नहीं हो सकते हैं। यही कारण है कि वाक्यविन्यास त्रुटि। जैसे ही मैंने वह कोड डाला जिसकी मुझे आवश्यकता थी

BEGIN
SELECT MONTH(CURDATE()) INTO @curmonth;
SELECT MONTHNAME(CURDATE()) INTO @curmonthname;
SELECT DAY(LAST_DAY(CURDATE())) INTO @totaldays;
SELECT FIRST_DAY(CURDATE()) INTO @checkweekday;
SELECT DAY(@checkweekday) INTO @checkday;
SET @daycount = 0;
SET @workdays = 0;

  WHILE(@daycount < @totaldays) DO
    IF (WEEKDAY(@checkweekday) < 5) THEN
      SET @workdays = @workdays+1;
    END IF;
    SET @daycount = @daycount+1;
    SELECT ADDDATE(@checkweekday, INTERVAL 1 DAY) INTO @checkweekday;
  END WHILE;
END

सिर्फ दूसरों के लिए :

यदि आप सुनिश्चित नहीं हैं कि phpmyadmin में एक रूटीन कैसे बनाया जाए, तो आप इसे SQL क्वेरी में डाल सकते हैं

delimiter ;;
drop procedure if exists test2;;
create procedure test2()
begin
select ‘Hello World’;
end
;;

क्वेरी चलाएँ। यह एक संग्रहीत कार्यविधि या संग्रहीत दिनचर्या बनाएगा जिसका नाम test2 है। अब रूटीन टैब पर जाएं और संग्रहीत कार्यविधि को संपादित करें जो आप चाहते हैं। मैं http://net.tutsplus.com/ पढ़ने का भी सुझाव देता हूं। ट्यूटोरियल/एक परिचय-से-संग्रहीत-प्रक्रिया/ यदि आप संग्रहित प्रक्रियाओं से शुरुआत कर रहे हैं।

पहला_दिन का कार्य जो आपको चाहिए वह है:-mysql">mysql में प्रत्येक महीने का पहला दिन कैसे प्राप्त करें?

प्रक्रिया दिखाना काम कर रहा है बस निम्न पंक्ति को END WHILE और ऊपर END के नीचे जोड़ें

SELECT @curmonth,@curmonthname,@totaldays,@daycount,@workdays,@checkweekday,@checkday;

फिर SQL क्वेरी विंडो में निम्न कोड का उपयोग करें।

call test2 /* or whatever you changed the name of the stored procedure to */

नोट: यदि आप इसका उपयोग करते हैं, तो कृपया ध्यान रखें कि यह कोड राष्ट्रीय स्तर पर मनाई गई छुट्टियों (या उस मामले के लिए किसी भी अवकाश) को ध्यान में नहीं रखता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं दो MySQL डेटाबेस में लेनदेन कर सकता हूँ?

  2. सी # से mysql.exe का उपयोग कैसे करें

  3. कोई परिणाम न होने पर भी मान लौटाना

  4. JDBC डेटाबेस दिखाएँ आदेश निष्पादित नहीं कर रहा है

  5. कैसे स्वचालित रूप से mysql या JDBC में तालिकाओं में विदेशी कुंजी संदर्भ सम्मिलित करने के लिए?