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

DATE_SUB के इकाई पैरामीटर के लिए संग्रहीत कार्यविधि पैरामीटर का उपयोग करें

आप जो करने का प्रयास कर रहे हैं, वह तैयार किए गए कथन के साथ या उसके बिना संग्रहीत कार्यविधि में संभव नहीं है।

आप कुछ ऐसा ही कर सकते हैं:

DELIMITER $$

DROP PROCEDURE IF EXISTS test_proc $$
CREATE PROCEDURE  test_proc(param1 varchar(20))
BEGIN

  CASE UPPER(param1)
    WHEN 'MICROSECOND' THEN select DATE_SUB(now(), INTERVAL 1 MICROSECOND); 
    WHEN 'SECOND' THEN select DATE_SUB(now(), INTERVAL 1 SECOND);
    WHEN 'MINUTE' THEN select DATE_SUB(now(), INTERVAL 1 MINUTE);
    WHEN 'HOUR' THEN select DATE_SUB(now(), INTERVAL 1 HOUR);
    WHEN 'DAY' THEN select DATE_SUB(now(), INTERVAL 1 DAY);
    WHEN 'WEEK' THEN select DATE_SUB(now(), INTERVAL 1 WEEK);
    WHEN 'MONTH' THEN select DATE_SUB(now(), INTERVAL 1 MONTH);
    WHEN 'QUARTER' THEN select DATE_SUB(now(), INTERVAL 1 QUARTER);
    WHEN 'YEAR' THEN select DATE_SUB(now(), INTERVAL 1 YEAR);
    ELSE select 'UNEXPECTED UNIT';
  END CASE;

END $$

DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सॉर्टिंग समूह द्वारा कथन का पालन नहीं करता है, हमेशा प्राथमिक कुंजी का उपयोग करता है

  2. विभिन्न डेटा स्रोतों को पढ़ने/लिखने के लिए हाइबरनेट कैसे सेट करें?

  3. MySQL चुनें कि JSON फ़ील्ड प्रॉपर्टी का मूल्य कहाँ है

  4. प्रत्येक शब्द की आवृत्ति की गणना करें

  5. एसक्यूएल सर्वर 2008 में अंतिम डाली गई आईडी प्राप्त करें