কম্পিউটার টিউটোরিয়াল

MySQL-এ Oracle-এর TRUNC(SYSDATE) এর মতো ফাংশন

Oracle-এ TRUNC(SYSDATE) দিয়ে শুধু ডেট পার্ট বের করা হয়। MySQL-এ এর সমতুল্য DATE() ফাংশন বা CURDATE()।

বর্তমান তারিখ

SELECT CURDATE(); -- 2019-10-20

টেবিল এবং ডেটা

CREATE TABLE DemoTable1613 (
    PostingDate DATETIME
);

INSERT INTO DemoTable1613 VALUES('2019-10-20 12:02:45');
INSERT INTO DemoTable1613 VALUES('2018-10-20 12:02:45');
INSERT INTO DemoTable1613 VALUES('2015-10-20 12:02:45');
INSERT INTO DemoTable1613 VALUES('2019-10-20 10:00:00');

আজকের রেকর্ড বের করা (Oracle TRUNC সমতুল্য)

SELECT * FROM DemoTable1613 
WHERE DATE(PostingDate) = CURDATE();

ফলাফল

+---------------------+
| PostingDate         |
+---------------------+
| 2019-10-20 12:02:45 |
| 2019-10-20 10:00:00 |
+---------------------+

ফাংশন তুলনা

OracleMySQLব্যাখ্যা
TRUNC(SYSDATE)CURDATE()বর্তমান ডেট (টাইম ছাড়া)
TRUNC(datetime_col)DATE(datetime_col)ডেটাইম থেকে ডেট পার্ট
SYSDATENOW()বর্তমান ডেটাইম

টিপ: বড় টেবিলে DATE(col) ব্যবহার করলে ইন্ডেক্স কাজ করে না। রেঞ্জ কুয়েরি ভালো: WHERE col >= CURDATE() AND col < CURDATE() + INTERVAL 1 DAY।

  1. MySQL-এ PHP basename() সমতুল্য ফাংশন: SUBSTRING_INDEX()

  2. MySQL-এ ডিফল্ট ORDER BY নেই, স্পষ্টভাবে ASC/DESC লিখতে হয়

  3. MySQL-এ শূন্য (0) ভ্যালুকে কাস্টম ভ্যালুতে আপডেট করা IF() ফাংশন দিয়ে

  4. পাইথন format() ফাংশন