মাইএসকিউএলে এমন কোনও উপায় রয়েছে যা আমাকে সেকেন্ডে দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য দেবে, বা পিএইচপি-তে আমার এটি করা দরকার? এবং যদি তা হয় তবে আমি কীভাবে তা করতে যাব?
মাইএসকিউএলে এমন কোনও উপায় রয়েছে যা আমাকে সেকেন্ডে দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য দেবে, বা পিএইচপি-তে আমার এটি করা দরকার? এবং যদি তা হয় তবে আমি কীভাবে তা করতে যাব?
উত্তর:
আপনি নিম্নলিখিত TIMEDIFF()
এবং TIME_TO_SEC()
ফাংশন ব্যবহার করতে পারেন :
SELECT TIME_TO_SEC(TIMEDIFF('2010-08-20 12:01:00', '2010-08-20 12:00:00')) diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
আপনি অন্য উত্তরটিতে @ আম্বর প্রস্তাবিতUNIX_TIMESTAMP()
হিসাবে ফাংশনটি ব্যবহার করতে পারেন :
SELECT UNIX_TIMESTAMP('2010-08-20 12:01:00') -
UNIX_TIMESTAMP('2010-08-20 12:00:00') diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
আপনি যদি TIMESTAMP
ডেটা টাইপ ব্যবহার করে থাকেন তবে আমি অনুমান করি যে UNIX_TIMESTAMP()
সমাধানটি কিছুটা দ্রুততর হবে, যেহেতু TIMESTAMP
মানগুলি ইতিপূর্বে ( উত্স ) থেকে সেকেন্ডের সংখ্যাকে উপস্থাপন করে একটি পূর্ণসংখ্যা হিসাবে ইতিমধ্যে সংরক্ষণ করা হয় । দস্তাবেজগুলি উদ্ধৃত করা হচ্ছে :
যখন
UNIX_TIMESTAMP()
কোনওTIMESTAMP
কলামে ব্যবহৃত হয় , তখন ফাংশনটি অভ্যন্তরীণ টাইমস্ট্যাম্প মানটি প্রত্যক্ষভাবে প্রদান করে, কোনও অন্তর্নিহিত "স্ট্রিং-থেকে-ইউনিক্স-টাইমস্ট্যাম্প" রূপান্তর ছাড়াই।মনে রাখবেন যে
TIMEDIFF()
ডেটা রিটার্ন করুনTIME
।TIME
মানগুলি '-838: 59: 59' থেকে '838: 59: 59' পর্যন্ত হতে পারে (প্রায় 34.96 দিন)
"টাইমস্ট্যামডিডিএফএফ" সম্পর্কে কীভাবে:
SELECT TIMESTAMPDIFF(SECOND,'2009-05-18','2009-07-29') from `post_statistics`
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-function.html#function_timestampdiff
str_to_date(date_column, '%m/%d/%Y')
TIMESTAMPDIFF ফাংশনটির মধ্যে কলামটির জন্য এটির ফর্ম্যাটিংটি সংশোধন করা দরকার।
TIME_TO_SEC
এ maxes 3020399
এই আয় যেহেতু সঠিক মান।
মনে রাখবেন যে, TIMEDIFF()
সমাধান কেবলমাত্র তখনই কাজ যখন datetimes
হয় কম 35 দিন পৃথক্!
TIMEDIFF()
একটি TIME
ডেটাটাইপ প্রদান করে, এবং TIME এর সর্বাধিক মান হয় 838: 59: 59 ঘন্টা (= 34,96 দিন)
unit
প্যারামিটার সেট করেSECOND
।