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 شما حساس هستند.

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

  • اضافه کردن 10 روز به تاریخ:
SQL
SELECT DATEADD(dd, 10, 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 (زمان): زمان پایان رویداد

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

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

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

2. اضافه کردن 30 دقیقه به زمان شروع رویداد:

SQL
SELECT DATEADD(mi, 30, start_time) FROM events;

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

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

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

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

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

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

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

SQL
SELECT * FROM events WHERE start_date >= CURRENT_DATE;

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

SQL
SELECT * FROM events WHERE start_date BETWEEN '2024-03-08' AND '2024-03-15';

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

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

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

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

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

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

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

نکات مهم:

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

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

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

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