SQL

توابع تاریخ و زمان در SQL (Date and Time Functions)

توابع تاریخ و زمان در SQL

مقدمه:

توابع تاریخ و زمان در SQL ابزاری قدرتمند برای کار با داده های تاریخ و زمان هستند. با استفاده از این توابع می توانید کارهایی مانند استخراج اطلاعات، اضافه کردن و کم کردن تاریخ و زمان، محاسبه اختلاف زمانی و تبدیل فرمت تاریخ و زمان را انجام دهید.

کاربردهای توابع تاریخ و زمان:

  • استخراج اطلاعات: برای استخراج اطلاعات خاص از یک تاریخ یا زمان مانند سال، ماه، روز، ساعت، دقیقه و ثانیه.
  • اضافه کردن و کم کردن تاریخ و زمان: برای اضافه کردن یا کم کردن مقدار مشخصی به تاریخ یا زمان.
  • محاسبه اختلاف زمانی: برای محاسبه اختلاف زمانی بین دو تاریخ یا زمان.
  • تبدیل فرمت تاریخ و زمان: برای تبدیل تاریخ و زمان از یک فرمت به فرمت دیگر.

انواع توابع تاریخ و زمان:

  • CURRENT_DATE: تاریخ فعلی را برمی گرداند.
  • CURRENT_TIME: زمان فعلی را برمی گرداند.
  • CURRENT_TIMESTAMP: تاریخ و زمان فعلی را برمی گرداند.
  • GETDATE: تاریخ و زمان فعلی را برمی گرداند.
  • DATEADD: مقدار مشخصی را به تاریخ یا زمان اضافه می کند.
  • DATEDIFF: اختلاف زمانی بین دو تاریخ یا زمان را محاسبه می کند.
  • DATE_FORMAT: تاریخ و زمان را به فرمت مشخصی تبدیل می کند.

مثال:

فرض کنید می خواهیم سال و ماه را از یک تاریخ استخراج کنیم. می توانیم از کد زیر استفاده کنیم:

SQL
SELECT YEAR(date) AS 'سال', MONTH(date) AS 'ماه' FROM dates;

نکات مهم:

  • توابع تاریخ و زمان برای کار با داده های تاریخ و زمان (DATE, DATETIME, TIMESTAMP) استفاده می شوند.
  • برای استفاده از توابع تاریخ و زمان، باید نوع داده ستون مورد نظر را به درستی مشخص کنید.
  • توابع تاریخ و زمان به تنظیمات منطقه ای سرور SQL شما حساس هستند.

مثال های اضافی:

  • اضافه کردن ۱۰ روز به تاریخ:
SQL
SELECT DATEADD(dd, ۱۰, date) FROM dates;
  • محاسبه اختلاف زمانی بین دو تاریخ:
SQL
SELECT DATEDIFF(dd, start_date, end_date) FROM dates;
  • تبدیل تاریخ به فرمت YYYY-MM-DD:
SQL
SELECT DATE_FORMAT(date, '%Y-%m-%d') FROM dates;

مثال جامع توابع تاریخ و زمان در SQL

فرض کنید یک جدول به نام events با ستون های زیر داریم:

  • id (عدد صحیح): شناسه منحصر به فرد هر رویداد
  • title (رشته): عنوان رویداد
  • start_date (تاریخ): تاریخ شروع رویداد
  • end_date (تاریخ): تاریخ پایان رویداد
  • start_time (زمان): زمان شروع رویداد
  • end_time (زمان): زمان پایان رویداد

در ادامه چند مثال از کاربرد توابع تاریخ و زمان در این جدول ارائه می دهیم:

۱. استخراج سال و ماه و روز از تاریخ شروع رویداد:

SQL
SELECT YEAR(start_date) AS 'سال', MONTH(start_date) AS 'ماه', DAY(start_date) AS 'روز' FROM events;

۲. اضافه کردن ۳۰ دقیقه به زمان شروع رویداد:

SQL
SELECT DATEADD(mi, ۳۰, start_time) FROM events;

۳. محاسبه اختلاف زمانی بین تاریخ و زمان شروع و پایان رویداد:

SQL
SELECT DATEDIFF(dd, start_date, end_date) * ۲۴ + DATEDIFF(hh, start_time, end_time) AS 'مدت زمان رویداد (ساعت)' FROM events;

۴. تبدیل تاریخ شروع رویداد به فرمت YYYY-MM-DD:

SQL
SELECT DATE_FORMAT(start_date, '%Y-%m-%d') FROM events;

۵. یافتن رویدادهایی که در ماه جاری برگزار می شوند:

SQL
SELECT * FROM events WHERE MONTH(start_date) = MONTH(CURRENT_DATE);

۶. یافتن رویدادهایی که در روزهای آینده برگزار می شوند:

SQL
SELECT * FROM events WHERE start_date >= CURRENT_DATE;

۷. یافتن رویدادهایی که در بازه زمانی مشخصی برگزار می شوند:

SQL
SELECT * FROM events WHERE start_date BETWEEN '۲۰۲۴-۰۳-۰۸' AND '۲۰۲۴-۰۳-۱۵';

۸. محاسبه تعداد روزهای باقی مانده تا شروع رویداد:

SQL
SELECT DATEDIFF(dd, CURRENT_DATE, start_date) AS 'روزهای باقی مانده' FROM events;

۹. یافتن اولین و آخرین روز ماه:

SQL
SELECT MIN(start_date), MAX(start_date) FROM events WHERE MONTH(start_date) = MONTH(CURRENT_DATE);

۱۰. یافتن رویدادهایی که در یک روز خاص برگزار می شوند:

SQL
SELECT * FROM events WHERE DAY(start_date) = ۸;

با استفاده از توابع تاریخ و زمان و خلاقیت می توانید به اطلاعات مورد نیاز خود از داده های تاریخ و زمان دست پیدا کنید.

نکات مهم:

  • توابع تاریخ و زمان برای کار با داده های تاریخ و زمان (DATE, DATETIME, TIMESTAMP) استفاده می شوند.
  • برای استفاده از توابع تاریخ و زمان، باید نوع داده ستون مورد نظر را به درستی مشخص کنید.
  • توابع تاریخ و زمان به تنظیمات منطقه ای سرور SQL شما حساس هستند.
۵/۵ ( ۱ امتیاز )
نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا