SQL Working With Dates
در SQL تاریخها و زمانها بخش مهمی از دادهها هستند و با استفاده از توابع و فرمتهای مخصوص میتونیم اونها رو مدیریت کنیم.
موضوع Working with Dates شامل درج، نمایش، محاسبه و فیلتر کردن تاریخهاست.
🔹 انواع داده تاریخ و زمان
نوع داده | توضیح |
---|---|
DATE | فقط تاریخ (YYYY-MM-DD) |
TIME | فقط زمان (HH:MM:SS) |
DATETIME | تاریخ و زمان با هم |
TIMESTAMP | تاریخ و زمان با دقت بیشتر و معمولاً برای ثبت تغییرات |
🔹 درج داده تاریخ
📌 در این مثال، تاریخ بهصورت YYYY-MM-DD
وارد شده است.
🔹 دریافت تاریخ فعلی
پایگاه داده | دستور |
---|---|
SQL Server | SELECT GETDATE(); |
MySQL | SELECT NOW(); |
PostgreSQL | SELECT CURRENT_TIMESTAMP; |
📌 این دستور تاریخ و زمان فعلی سیستم را برمیگردونه.
🔹 استخراج بخش خاصی از تاریخ
تابع | مثال | توضیح |
---|---|---|
YEAR() | SELECT YEAR(OrderDate) FROM Orders; | سال را نمایش میدهد |
MONTH() | SELECT MONTH(OrderDate) FROM Orders; | ماه را نمایش میدهد |
DAY() | SELECT DAY(OrderDate) FROM Orders; | روز ماه را نمایش میدهد |
DATEPART() (SQL Server) | SELECT DATEPART(weekday, OrderDate) FROM Orders; | شماره روز هفته را نمایش میدهد |
🔹 عملیات روی تاریخها
عملیات | مثال | توضیح |
---|---|---|
جمع روز | DATEADD(day, 7, '2025-10-07') (SQL Server) | ۷ روز به تاریخ اضافه میکنه |
تفریق تاریخ | DATEDIFF(day, '2025-10-01', '2025-10-07') (SQL Server) | تعداد روزهای بین دو تاریخ |
افزودن ماه | DATEADD(month, 2, '2025-10-07') | ۲ ماه به تاریخ اضافه میکنه |
🔹 فیلتر کردن با تاریخ
📌 همه سفارشهایی که بین دو تاریخ مشخص هستند انتخاب میشوند.
🔹 قالببندی تاریخ
-
SQL Server:
-
MySQL:
-
PostgreSQL:
🔹 نکات مهم
-
همیشه فرمت تاریخ پایگاه داده را رعایت کن (
YYYY-MM-DD
در اکثر DBMSها). -
برای محاسبه سن، مدت زمان یا فیلتر کردن بازهها، از توابع تاریخ و زمان استفاده کن.
-
برخی DBMSها تفاوت جزئی در نام توابع و پارامترها دارن، پس مستندات مخصوص هر DBMS را بررسی کن.