মাইএসকিউএল -এ তারিখ এবং সময়গুলির সাথে কীভাবে কার্যকরভাবে কাজ করবেন

মাইএসকিউএল -এ তারিখ এবং সময়গুলির সাথে কীভাবে কার্যকরভাবে কাজ করবেন

তারিখ এবং সময়গুলি গুরুত্বপূর্ণ, তারা জিনিসগুলিকে সংগঠিত রাখতে সহায়তা করে এবং যে কোনও সফ্টওয়্যার অপারেশনের অবিচ্ছেদ্য দিক।





ডাটাবেসের মধ্যে তাদের সাথে দক্ষতার সাথে কাজ করা কখনও কখনও বিভ্রান্তিকর মনে হতে পারে, এটি বিভিন্ন সময় অঞ্চল জুড়ে কাজ করছে কিনা, তারিখ যোগ / বিয়োগ এবং অন্যান্য অপারেশন।





আপনার ডাটাবেসের মধ্যে তারিখ / সময়গুলি সহজেই পরিচালনা এবং পরিচালনা করার জন্য উপলব্ধ বিভিন্ন মাইএসকিউএল ফাংশনগুলি শিখুন।



টাইম জোন নিয়ে কাজ করা

জিনিসগুলিকে মানসম্মত রাখতে সাহায্য করার জন্য, আপনার কেবলমাত্র UTC টাইম জোনে তারিখ / সময় নিয়ে কাজ করা উচিত। প্রতিবার যখন আপনি মাইএসকিউএল ডাটাবেসের সাথে একটি সংযোগ স্থাপন করেন, তখন আপনাকে সময় অঞ্চলটি ইউটিসিতে পরিবর্তন করতে হবে, যা নিম্নলিখিত এসকিউএল বিবৃতি দিয়ে করা যেতে পারে:

SET TIME_ZONE = '+0:00'

যেহেতু সমস্ত তারিখ এখন ইউটিসি -তে সংরক্ষিত হবে, তাই আপনি সবসময় জানেন যে আপনি কী নিয়ে কাজ করছেন, যা জিনিসগুলিকে আরও সরল এবং সরাসরি এগিয়ে নিয়ে যাচ্ছে।



বিনা পয়সায় নতুন সিনেমা দেখুন

প্রয়োজনে আপনি সহজেই করতে পারেন সময় অঞ্চল রূপান্তর করুন যে কোন ডেটটাইম / টাইমস্ট্যাম্প মান সহ CONVERT_TZ () মাইএসকিউএল ফাংশন। আপনাকে প্রথমে অফসেট জানতে হবে, উদাহরণস্বরূপ, উত্তর আমেরিকার পশ্চিম উপকূলে PST হল UTC -08: 00, তাই আপনি ব্যবহার করতে পারেন:

SELECT CONVERT_TZ('2021-02-04 21:47:23', '+0:00', '-8:00');

এর ফলে 2021-02-04 13:47:23 যা একদম সঠিক। তিনটি যুক্তি পাস হয়েছে CONVERT_TZ () প্রথমে আপনি যে ডেটটাইম / টাইমস্ট্যাম্প দিয়ে শুরু করছেন (বর্তমান সময়ের জন্য এখন () ব্যবহার করুন), দ্বিতীয়টি সর্বদা থাকবে '+0: 00' যেহেতু সমস্ত তারিখ ডাটাবেসে ইউটিসি -তে বাধ্য করা হয়, এবং শেষটি অফসেট যা আমরা তারিখটি রূপান্তর করতে চাই।





তারিখ যোগ / বিয়োগ করুন

অনেক সময় আপনাকে তারিখ থেকে যোগ বা বিয়োগ করতে হবে, যেমন যদি আপনার এক সপ্তাহ আগের রেকর্ড পুনরুদ্ধার করতে হয়, অথবা এখন থেকে এক মাস সময়সূচী নির্ধারণ করতে হয়।

সৌভাগ্যক্রমে মাইএসকিউএল চমৎকার DATE_ADD () এবং DATE_SUB () ফাংশন এই কাজটিকে অত্যন্ত সহজ করে তোলে। উদাহরণস্বরূপ, আপনি SQL স্টেটমেন্ট দিয়ে বর্তমান তারিখ থেকে দুই সপ্তাহ বিয়োগ করতে পারেন:





SELECT DATE_SUB(now(), interval 2 week);

পরিবর্তে যদি আপনি একটি বিদ্যমান টাইমস্ট্যাম্পে তিন দিন যোগ করতে চান, তাহলে আপনি ব্যবহার করবেন:

SELECT DATE_ADD('2021-02-07 11:52:06', interval 3 day);

উভয় ফাংশন একই কাজ করে, প্রথম যুক্তিটি হল আপনি যে টাইমস্ট্যাম্পটি দিয়ে শুরু করছেন, এবং দ্বিতীয় যুক্তিটি হল যোগ বা বিয়োগের ব্যবধান। দ্বিতীয় যুক্তিটি সর্বদা একই শব্দ দিয়ে শুরু করা হয় অন্তর একটি সংখ্যাসূচক মান এবং অন্তর নিজেই অনুসরণ করে, যা নিচের যেকোনো একটি হতে পারে: দ্বিতীয়, মিনিট, ঘন্টা, দিন, সপ্তাহ, মাস, চতুর্থাংশ, বছর।

আরেকটি উদাহরণের জন্য, যদি আপনি গত 34 মিনিটে ঘটে যাওয়া সমস্ত লগইন পুনরুদ্ধার করতে চান তবে আপনি একটি SQL স্টেটমেন্ট ব্যবহার করতে পারেন যেমন:

SELECT * FROM logins WHERE login_date >= DATE_SUB(now(), interval 45 minute);

আপনি দেখতে পাচ্ছেন, এটি থেকে সমস্ত রেকর্ড পুনরুদ্ধার করবে লগইন বর্তমান সময় বিয়োগ 45 মিনিটের চেয়ে বড় লগইন তারিখ সহ টেবিল, বা অন্য কথায়, গত 45 মিনিট।

তারিখের মধ্যে পার্থক্য পান

কখনও কখনও আপনাকে দুটি তারিখের মধ্যে কত সময় অতিবাহিত হয়েছে তা পেতে হবে। আপনি সহজেই দুটি ভিন্ন তারিখের মধ্যে দিনের সংখ্যা পেতে পারেন তারিখ ফাংশন, যেমন নিচের SQL স্টেটমেন্ট:

SELECT DATEDIFF(now(), '2020-12-15');

দ্য তারিখ ফাংশন দুটি আর্গুমেন্ট নেয়, উভয়ই তারিখ / সময় স্ট্যাম্প এবং তাদের মধ্যে দিনের সংখ্যা দেয়। উপরের উদাহরণটি 15 ই ডিসেম্বর, 2020 থেকে আজ পর্যন্ত অতিবাহিত দিনের সংখ্যা দেখাবে।

দুই তারিখের মধ্যে সেকেন্ডের সংখ্যা পেতে, TO_SECONDS () ফাংশনটি কাজে আসতে পারে, উদাহরণস্বরূপ:

SELECT TO_SECONDS(now()) - TO_SECONDS('2021-02-05 11:56:41');

এর ফলে প্রদত্ত দুটি তারিখের মধ্যে সেকেন্ডের সংখ্যা হবে।

তারিখ থেকে বিভাগগুলি বের করুন

বিভিন্ন মাইএসকিউএল ফাংশন রয়েছে যা আপনাকে তারিখ থেকে নির্দিষ্ট অংশগুলি সহজেই বের করতে দেয়, যেমন যদি আপনি কেবল মাস, বছরের দিন বা ঘন্টা চান। এই ধরনের ফাংশনের কয়েকটি উদাহরণ এখানে দেওয়া হল:

SELECT MONTH('2021-02-11 15:27:52'); SELECT HOUR(now()); SELECT DAYOFYEAR('2021-07-15 12:00:00');

উপরের এসকিউএল স্টেটমেন্টের ফলাফল হবে 02 , বর্তমান ঘন্টা, এবং 196 যেহেতু 15 সেপ্টেম্বর বছরের 196 তম দিন। এখানে সমস্ত তারিখ নিষ্কাশন ফাংশনগুলির একটি তালিকা পাওয়া যায়, প্রত্যেকটি শুধুমাত্র একটি যুক্তি গ্রহণ করে, যে তারিখ থেকে নিষ্কাশন করা হচ্ছে:

- SECOND()
- MINUTE()
- HOUR()
- DAY()
- WEEK() - Number 0 - 52 defining the week within the year.
- MONTH()
- QUARTER() - Number 1 - 4 defining the quarter of the year.
- YEAR()
- DAYOFYEAR() - The day of the year (eg. Sept 15th = 196).
- LAST_DAY() - The last day in the given month.
- DATE() - The date in YYYY-MM-DD format without the time.
- TIME() The time in HH:II:SS format without the date.
- TO_DAYS() - The number of days since A.D. 0.
- TO_SECONDS() - The number of seconds since A.D. 0.
- UNIX_TIMESTAMP() - The number of seconds since the epoch (Jan 1st, 1970)

উদাহরণস্বরূপ, যদি আপনি কেবল সেই মাস এবং বছরটি পুনরুদ্ধার করতে চান যা সমস্ত ব্যবহারকারী তৈরি করেছিলেন, আপনি একটি এসকিউএল বিবৃতি ব্যবহার করতে পারেন যেমন:

SELECT id, MONTH(created_at), YEAR(created_at) FROM users;

এটি এর মধ্যে সমস্ত রেকর্ড পুনরুদ্ধার করবে ব্যবহারকারীরা টেবিল এবং আইডি#, মাস এবং বছর দেখান প্রতিটি ব্যবহারকারী তৈরি করা হয়েছিল।

তারিখের সময় অনুসারে গ্রুপিং রেকর্ড

তারিখ ফাংশনগুলির একটি চমৎকার ব্যবহার হল তারিখের সময় অনুযায়ী রেকর্ডগুলি গ্রুপ করার ক্ষমতা গ্রুপ দ্বারা আপনার এসকিউএল স্টেটমেন্টের মধ্যে। উদাহরণস্বরূপ, হয়তো আপনি মাস অনুযায়ী গ্রুপকৃত ২০২০ -তে সমস্ত অর্ডারের মোট পরিমাণ টানতে চান। আপনি একটি এসকিউএল বিবৃতি ব্যবহার করতে পারেন যেমন:

SELECT MONTH(created_at), SUM(amount) FROM orders WHERE created_at BETWEEN '2020-01-01 00:00:00' AND '2020-12-31 23:59:59' GROUP BY MONTH(created_at);

এটি ২০২০ সালে দেওয়া সমস্ত অর্ডার পুনরুদ্ধার করবে, তাদের তৈরি করা মাস অনুসারে তাদের গোষ্ঠীভুক্ত করবে এবং বছরের প্রতিটি মাসে অর্ডার করা মোট পরিমাণ দেখিয়ে ১২ টি রেকর্ড ফিরিয়ে দেবে।

অনুগ্রহ করে লক্ষ্য করুন, ভাল সূচী পারফরম্যান্সের জন্য, তারিখ ফাংশন ব্যবহার করা এড়িয়ে চলা সবসময় ভাল বছর () এসকিউএল স্টেটমেন্টের WHERE ক্লজের মধ্যে এবং এর পরিবর্তে মাঝখানে উপরের উদাহরণে দেখানো অপারেটর।

তারিখগুলির সাথে আবার কখনও বিভ্রান্ত হবেন না

উপরোক্ত জ্ঞান ব্যবহার করে আপনি এখন দক্ষতার সাথে কাজ করতে পারেন, অনুবাদ করতে পারেন এবং ব্যবহারের ক্ষেত্রে বিস্তৃত পরিসরে তারিখ এবং সময়ে অপারেশন করতে পারেন।

সরলতার জন্য তারিখগুলির সাথে কাজ করার সময় সর্বদা ইউটিসি ব্যবহার করতে ভুলবেন না এবং আপনার সফ্টওয়্যারের মধ্যে তারিখগুলি দক্ষতার সাথে পরিচালনা করার জন্য উপরের টিপসগুলি ব্যবহার করুন, এটি সাধারণ গণনাগুলি সম্পন্ন করা হোক বা তারিখের সময় অনুসারে গ্রুপ করা প্রতিবেদনগুলি সহজেই টানতে।

আপনি যদি এসকিউএল -এ কিছুটা নতুন হন তবে এগুলি পরীক্ষা করে দেখুন প্রয়োজনীয় এসকিউএল কমান্ড আপনার এসকিউএল ব্যবহার উন্নত করতে সাহায্য করার জন্য।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল কিভাবে মাইক্রোসফট ওয়ার্ডে প্রফেশনাল রিপোর্ট এবং ডকুমেন্ট তৈরি করবেন

এই নির্দেশিকাটি পেশাদার রিপোর্টের উপাদানগুলি পরীক্ষা করে এবং মাইক্রোসফ্ট ওয়ার্ডে আপনার নথির কাঠামো, স্টাইলিং এবং চূড়ান্তকরণ পর্যালোচনা করে।

পরবর্তী পড়ুন
সম্পর্কিত বিষয় লেখক সম্পর্কে ম্যাট ডিজাক(18 নিবন্ধ প্রকাশিত) ম্যাট ডিজাক থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন