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

दो तिथियों के बीच सभी सप्ताह सूचीबद्ध करने के लिए संग्रहीत प्रक्रिया

आप सभी दिनों का चयन कर सकते हैं और सप्ताह के पहले दिन फ़िल्टर कर सकते हैं (date_format(selected_date, '%w') = 0 ):

select selected_date, date_add(selected_date, INTERVAL 6 DAY)
from 
(select adddate('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date 
 from
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
where selected_date between '2015-02-01' and '2015-02-28'
  AND date_format(selected_date, '%w') = 0

SQLFIDDLE:http://sqlfiddle.com/#!2/7bc0e/52

आप उपयोग कर सकते हैं

AND DAYOFWEEK(selected_date) = 1

के बजाय

date_format(selected_date, '%w') = 0

मुझे लगता है कि यह थोड़ा अधिक पठनीय है:http://sqlfiddle.com/#!2 /7bc0e/54




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्वचालित रूप से डेटाबेस में स्ट्रिंग संयोजन का उपयोग करके तालिका आईडी की स्वतः वृद्धि

  2. mysqli_query . में '' के बजाय गंभीर उच्चारण

  3. बैच सम्मिलित SQL कथन

  4. कई मानदंडों के साथ PHP MySQL खोज

  5. कई टेबल डेटाबेस डिजाइन मुद्दे पर टिप्पणियाँ