जवाबों:
SELECT * FROM users WHERE created >= CURDATE();
लेकिन मुझे लगता है कि तुम मतलब है created < today
SELECT * FROM myTable WHERE DATE(myDate) = DATE(NOW())
और पढ़ें: http://www.tomjepson.co.uk/tutorials/36/mysql-select-where-date-today.html
SELECT * FROM users WHERE created >= NOW();
यदि स्तंभ डेटाटाइम प्रकार है।
यदि 'बनाया' डेटाइम प्रकार है
SELECT * FROM users WHERE created < DATE_ADD(CURDATE(), INTERVAL 1 DAY);
CURDATE () का अर्थ '2013-05-09 00:00:00' भी है
यदि स्तंभ में अनुक्रमणिका है और स्तंभ पर कोई फ़ंक्शन लागू है, तो अनुक्रमणिका काम नहीं करती है और पूर्ण तालिका स्कैन होती है, जिससे वास्तव में धीमी गति से क्वेरी होती है।
सूचकांक का उपयोग करने और आज / वर्तमान तिथि के साथ डेटाइम की तुलना करने के लिए , निम्नलिखित का उपयोग किया जा सकता है।
ओपी के लिए समाधान:
select * from users
where created > CONCAT(CURDATE(), ' 23:59:59')
आज के लिए डेटा प्राप्त करने के लिए नमूना:
select * from users
where
created >= CONCAT(CURDATE(), ' 00:00:00') AND
created <= CONCAT(CURDATE(), ' 23:59:59')
या शॉर्ट के लिए BETWEEN का उपयोग करें
select * from users
where created BETWEEN
CONCAT(CURDATE(), ' 00:00:00') AND CONCAT(CURDATE(), ' 23:59:59')
नीचे दिए गए कोड ने मेरे लिए काम किया।
declare @Today date
Set @Today=getdate() --date will equal today
Select *
FROM table_name
WHERE created <= @Today
SELECT * FROM table_name WHERE CONCAT( SUBSTRING(json_date, 11, 4 ) , '-', SUBSTRING( json_date, 7, 2 ) , '-', SUBSTRING(json_date, 3, 2 ) ) >= NOW();
json_date ["05/11/2011"]
यदि आप सर्वर पर अतिरिक्त भार डालेंगे, तो आप सभी पंक्तियों को वापस कर सकते हैं और php datediff फ़ंक्शन का उपयोग कर सकते हैं।
if(dateDiff(date("Y/m/d"), $row['date']) <=0 ){
}else{
echo " info here";
}
CURDATE()
केवल समय नहीं लौटाएं