MySQL-এ DATETIME কলাম থেকে শুধু ডেট অংশ নিয়ে ফিল্টার করতে DATE() ফাংশন ব্যবহার করুন।
উদাহরণ
mysql> CREATE TABLE DemoTable732 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
PassengerId INT,
PassengerName VARCHAR(100),
PassengerAge INT,
PassengerTravelDatetime DATETIME
);
Query OK, 0 rows affected (0.67 sec)
mysql> INSERT INTO DemoTable732 (PassengerId, PassengerName, PassengerAge, PassengerTravelDatetime) VALUES
(110, 'Chris', 25, '2019-07-23 12:45:56'),
(120, 'Robert', 24, '2019-07-21 11:05:00'),
(120, 'Sam', 26, '2019-07-21 11:05:00');
Query OK, 3 rows affected
সব রেকর্ড
mysql> SELECT * FROM DemoTable732;
+----+-------------+---------------+--------------+-------------------------+ | Id | PassengerId | PassengerName | PassengerAge | PassengerTravelDatetime | +----+-------------+---------------+--------------+-------------------------+ | 1 | 110 | Chris | 25 | 2019-07-23 12:45:56 | | 2 | 120 | Robert | 24 | 2019-07-21 11:05:00 | | 3 | 120 | Sam | 26 | 2019-07-21 11:05:00 | +----+-------------+---------------+--------------+-------------------------+
PassengerId=120 এবং তারিখ 2019-07-21
mysql> SELECT COUNT(Id) FROM DemoTable732 WHERE PassengerId = 120 AND DATE(PassengerTravelDatetime) = '2019-07-21';
+-----------+ | count(Id) | +-----------+ | 2 | +-----------+
টিপস
DATE(datetime_col)→ শুধু ডেট অংশ বের করে (ইনডেক্স ব্যবহার নাও করতে পারে)- পারফরম্যান্সের জন্য:
WHERE dt >= '2019-07-21' AND dt < '2019-07-22' CAST(datetime_col AS DATE)ও কাজ করে