মাইএসকিউএলে এমন কোনও উপায় রয়েছে যা আমাকে সেকেন্ডে দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য দেবে, বা পিএইচপি-তে আমার এটি করা দরকার? এবং যদি তা হয় তবে আমি কীভাবে তা করতে যাব?
মাইএসকিউএলে এমন কোনও উপায় রয়েছে যা আমাকে সেকেন্ডে দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য দেবে, বা পিএইচপি-তে আমার এটি করা দরকার? এবং যদি তা হয় তবে আমি কীভাবে তা করতে যাব?
উত্তর:
আপনি নিম্নলিখিত 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।