উত্তর:
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
DATETIME
তবে এটি সময়ের অংশটিকে উপেক্ষা করে পূর্ববর্তী তারিখ থেকে সমস্ত রেকর্ড নির্বাচন করবে। চালানো হয়েছে 23:59:59
, ক্যোয়ারী শেষ 48
ঘন্টাগুলির জন্য সমস্ত রেকর্ড ফিরিয়ে দেবে , না 24
।
ইন MySQL
:
SELECT *
FROM mytable
WHERE record_date >= NOW() - INTERVAL 1 DAY
ইন SQL Server
:
SELECT *
FROM mytable
WHERE record_date >= DATEADD(day, -1, GETDATE())
ইন Oracle
:
SELECT *
FROM mytable
WHERE record_date >= SYSDATE - 1
ইন PostgreSQL
:
SELECT *
FROM mytable
WHERE record_date >= NOW() - '1 day'::INTERVAL
ইন Redshift
:
SELECT *
FROM mytable
WHERE record_date >= GETDATE() - '1 day'::INTERVAL
ইন SQLite
:
SELECT *
FROM mytable
WHERE record_date >= datetime('now','-1 day')
ইন MS Access
:
SELECT *
FROM mytable
WHERE record_date >= (Now - 1)
function getdate() does not exist
। এটি দিয়ে প্রতিস্থাপন করা হয়েছে current_date
এবং এটি দুর্দান্ত কাজ করেছে।
CURDATE()
যে কোনও সময়ের অংশের সাথে কোনও তারিখ ফেরায় না, তাই এটি যায় 00
। NOW()
পরিবর্তে ব্যবহার করে এটি স্থির করেছি CURDATE()
।
মাইএসকিউএল:
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)
ইন্টারভালটি বছর, মাস, দিন, ঘন্টা, মিনিট, দ্বিতীয় সেকেন্ডে থাকতে পারে
উদাহরণস্বরূপ, শেষ 10 মিনিটে
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 10 MINUTE)
কোন এসকিউএল নির্দিষ্ট করা হয়নি, এসকিউএল 2005/2008
SELECT yourfields from yourTable WHERE yourfieldWithDate > dateadd(dd,-1,getdate())
আপনি যদি ২০০৮ বর্ধিত নির্ভুলতার তারিখের প্রকারভেদে থাকেন, তবে পরিবর্তে নতুন সিসডেটটাইম () ফাংশনটি ব্যবহার করুন, সমানভাবে যদি ইউটিসি সময় অভ্যন্তরীণভাবে ইউটিসি কলগুলিতে অদলবদল করে।
বিবেচিত টাইমস্ট্যাম্পটি যদি ইউনিক্সের টাইমস্ট্যাম্প হয় তবে আপনাকে প্রথমে ইউনিক্স টাইমস্ট্যাম্প (যেমন 1462567865) মাইএসকিএল টাইমস্ট্যাম্প বা ডেটাতে রূপান্তর করতে হবে
SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
SELECT DATEDIFF(s, '1970-01-01 00:00:00', DateField)
যদি এসকিউএল সার্ভার SELECT DATEDIFF_BIG(millisecond, '1970-01-01 00:00:00', DateField)
select ...
from ...
where YourDateColumn >= getdate()-1
হ্যালো আমি এখন এটি মূল পোস্ট থেকে অনেকটা সময় পেরিয়ে গিয়েছি তবে আমি একই ধরণের সমস্যা পেয়েছি এবং আমি ভাগ করতে চাই।
আমি YYYY-MM-DD এইচ: মিমি: এসএস এই ফর্ম্যাটটি সহ একটি ডেটটাইম ফিল্ড পেয়েছি এবং আমি একটি পুরো দিন অ্যাক্সেস করতে চাই, তাই এখানে আমার সমাধান।
মাইএসকিউএলে DATE () ফাংশন: একটি তারিখ বা তারিখের সময় প্রকাশের তারিখের অংশটি বের করুন।
SELECT * FROM `your_table` WHERE DATE(`your_datatime_field`)='2017-10-09'
এটির সাথে আমি এই দিনটিতে সমস্ত সারি রেজিস্টার পেতে পারি।
আমি আশা করি যে কারও সাহায্য করবে।
এসকিউএল সার্ভারে (গত 24 ঘন্টা ধরে):
SELECT *
FROM mytable
WHERE order_date > DateAdd(DAY, -1, GETDATE()) and order_date<=GETDATE()