মাইএসকিউএলে দুটি ডেটটাইমের মধ্যে পার্থক্য গণনা করুন


157

আমি মাইএসকিউএল-এ datetimeটাইপ করা সর্বশেষ লগইন সময় সংরক্ষণ করছি । যখন ব্যবহারকারীরা লগ ইন করে, আমি সর্বশেষ লগইন সময় এবং বর্তমান সময়ের মধ্যে পার্থক্য পেতে চাই (যা আমি ব্যবহার করিNOW() ) এর ।

আমি কীভাবে এটি গণনা করতে পারি?


উত্তর:


296

TIMESTAMPDIFFমাইএসকিউএল ফাংশনটি ব্যবহার করুন । উদাহরণস্বরূপ, আপনি ব্যবহার করতে পারেন:

SELECT TIMESTAMPDIFF(SECOND, '2012-06-06 13:13:55', '2012-06-06 15:20:18')

আপনার ক্ষেত্রে, TIMSTAMPDIFFফাংশনের তৃতীয় প্যারামিটারটি বর্তমান লগইন সময় ( NOW()) হবে। দ্বিতীয় প্যারামিটারটি শেষ লগইন সময় হবে, যা ইতিমধ্যে ডাটাবেসে রয়েছে।


এটি ঠিক শেষ লগইন আপডেট করার জন্য ?? আমি যা চাই তা হ'ল স্ট্যাকওভারফ্লোতে আপনার প্রশ্নটি 2 ঘন্টা আগে, 30 সেকেন্ড আগে, 2 মিনিট আগে .. ইত্যাদি। আমি একই ধরণের কার্যকারিতা চাই। উদাহরণস্বরূপ এখানে একটি টেবিল রয়েছে যা বলা জিজ্ঞাসা করুন (আইডি, বার্তা, টাইমস্ট্যাম্প)। স্টোর করার সময় টাইমস্ট্যাম্পটি এখন ()। আমি কোনও ক্যোয়ারি চালানোর সময়, অনুরোধগুলি থেকে * নির্বাচন করুন, সেই মানটি প্রদর্শন করার পরিবর্তে এটি আইডি, বার্তা এবং কত সময় পিছনে অনুরোধ পোস্ট করা হয়েছিল তা প্রদর্শন করা উচিত।
দেবেশ অগ্রওয়াল

1
যখন কোনটি নির্বাচন করুন টাইমস্ট্যাম্পডিএফএফ (সেকেন্ড, এখন (), সম্পাদনা করার সময়, 'অনুরোধগুলি থেকে লাস্টলোগিনটাইম নির্বাচন করুন যেখানে id =' 2 '') .. এটির ফিরে আসার নূন্যতম। কোন ধারণা কেন ??
দেবেশ অগ্রওয়াল

আইডি = '2' যেখানে অনুরোধ থেকে সর্বশেষ লোগিনটাইম নির্বাচন করবেন তার ফলাফল কী?
এফএসপি

টাইমস্ট্যাম্পডিফ নির্বাচন করুন (দ্বিতীয়, এখন (), '2012-06-06 08:07:36'); এটা চেষ্টা কর!
এফএসপি

হ্যাঁ যা কাজ করছে, তবে আমার টেবিল থেকে দ্বিতীয় প্যারামিটারটি আনতে হবে। কীভাবে তা অর্জন করা যায়। আসলে আমি নেস্টেড কোয়েরি এড়াতে চাই avoid কোন ধারণা?
দেবেশ অগ্রওয়াল

3

যুক্তি সম্পর্কে আমার দুটি সেন্ট:

বাক্য গঠনটি "পুরানো তারিখ" -: "নতুন তারিখ", সুতরাং:

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:00', '2018-11-15 15:00:30')

30 দেয়,

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:55', '2018-11-15 15:00:15')

দেয়: -40


2

যদি আপনার শুরু এবং শেষ তারিখের সময়গুলি বিভিন্ন দিনে থাকে তবে TIMEDIFF ব্যবহার করুন।

SELECT TIMEDIFF(datetime1,datetime2)

যদি ডেটটাইম 1> ডেটটাইম 2 থাকে

SELECT TIMEDIFF("2019-02-20 23:46:00","2019-02-19 23:45:00")

দেয়: 24:01:00

এবং ডেটটাইম 1 <ডেটটাইম 2

SELECT TIMEDIFF("2019-02-19 23:45:00","2019-02-20 23:46:00")

দেয়: -24: 01: 00


দ্রষ্টব্য, কেবলমাত্র 839 ঘন্টা পর্যন্ত তারিখগুলি সহ্য করতে পারে
সাইয়াস জার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.