টাইমস্ট্যাম্প এবং দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য পেতে আপনি MySQL থেকে অন্তর্নির্মিত ফাংশন UNIX_TIMESTAMP() ব্যবহার করতে পারেন। সিনট্যাক্স নিম্নরূপ -
আপনার টেবিলের নাম থেকে UNIX_TIMESTAMP(yourColumnName1) - UNIX_TIMESTAMP(yourColumnName2) যেকোন পরিবর্তনশীল নাম হিসেবে নির্বাচন করুন;
উপরের ধারণাটি বুঝতে, আসুন একটি টেবিল তৈরি করি। নীচে একটি টেবিল তৈরি করার জন্য ক্যোয়ারী −
mysql> টেবিল তৈরি করুন DifferenceInSeconds −> ( −> FirstTimestamp TIMESTAMP, −> SecondTimestamp TIMESTAMP −> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.93 সেকেন্ড)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -
mysql> DifferenceInSeconds মানগুলিতে সন্নিবেশ করান DifferenceInSeconds মানের মধ্যে('2014-10-11 12:15:50','2014-10-11 12:13:50'); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.19 সেকেন্ড)mysql> DifferenceInSeconds মানগুলিতে সন্নিবেশ করুন('2018 -12-14 13:30:53','2018-12-14 13:27:53');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.21 সেকেন্ড)
এখন সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
mysql> DifferenceInSeconds থেকে *নির্বাচন করুন;
নিচের আউটপুট −
+---------+---------+| ফার্স্টটাইমস্ট্যাম্প | সেকেন্ডটাইমস্ট্যাম্প |+---------+----------------------+| 2012-12-12 13:16:55 | 2012-12-12 13:13:55 || 2014-10-11 12:15:50 | 2014-10-11 12:13:50 || 2018-12-14 13:30:53 | 2018-12-14 13:27:53 |+-----------------------------------+---------------- -----+3 সারি সেটে (0.00 সেকেন্ড)
এখানে সেকেন্ডে দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য খুঁজে বের করার জন্য প্রশ্ন রয়েছে। প্রশ্নটি নিম্নরূপ -
mysql> DifferenceInSeconds থেকে সেকেন্ড হিসাবে UNIX_TIMESTAMP(FirstTimestamp) - UNIX_TIMESTAMP(সেকেন্ড টাইমস্ট্যাম্প) নির্বাচন করুন;
নিচের আউটপুট −
<প্রে>+---------+| সেকেন্ড |+---------+| 180 || 120 || 180 |+---------+3 সারি সেটে (0.00 সেকেন্ড)দ্রষ্টব্য - যদি আপনি জানেন না কোন টাইমস্ট্যাম্প বড় তাহলে ABS() ব্যবহার করুন।
সিনট্যাক্স নিম্নরূপ -
DifferenceInSeconds থেকে সেকেন্ড হিসাবে ABS(UNIX_TIMESTAMP(yourColumnName1) - UNIX_TIMESTAMP(yourColumnName2)) নির্বাচন করুন;
উপরের সিনট্যাক্স চেক করতে, আসুন রেকর্ড সন্নিবেশ করান যেখানে প্রথম টাইমস্ট্যাম্পের মান কম।
mysql> DifferenceInSeconds মানগুলিতে সন্নিবেশ করুন('2018-12-14 13:26:53','2018-12-14 13:31:53'); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.21 সেকেন্ড)
টেবিল থেকে সমস্ত রেকর্ড প্রদর্শনের জন্য ক্যোয়ারী।
mysql> DifferenceInSeconds থেকে *নির্বাচন করুন;
নিচের আউটপুট −
+---------+---------+| ফার্স্টটাইমস্ট্যাম্প | সেকেন্ডটাইমস্ট্যাম্প |+---------+----------------------+| 2012-12-12 13:16:55 | 2012-12-12 13:13:55 || 2014-10-11 12:15:50 | 2014-10-11 12:13:50 || 2018-12-14 13:30:53 | 2018-12-14 13:27:53 || 2018-12-14 13:26:53 | 2018-12-14 13:31:53 |+-----------------------------------+---------------- -----+4 সারি সেটে (0.00 সেকেন্ড)
নিম্নলিখিত ABS() ফাংশন ব্যবহার. প্রশ্নটি নিম্নরূপ -
mysql> DifferenceInSeconds থেকে সেকেন্ড হিসাবে ABS(UNIX_TIMESTAMP(FirstTimestamp) - UNIX_TIMESTAMP(SecondTimestamp)) নির্বাচন করুন;
নিচের আউটপুট −
<প্রে>+---------+| সেকেন্ড |+---------+| 180 || 120 || 180 || 300 |+---------+4 সারি সেটে (0.00 সেকেন্ড)দ্রষ্টব্য - যদি আপনি ABS() ব্যবহার না করেন তাহলে -300 সেকেন্ড হবে উপরের আউটপুট।