مشخصات مقاله
-
4650
-
0.0
-
54066
-
0
-
0
توابع Date (تاریخ) در SQL
سخت ترین قسمت کار با Date این است که مطمئن شویم فرمت تاریخی که شما سعی می کنید وارد کنید با فرمت ستون تاریخ در پایگاه داده هم خوانی داشته باشد.
تا زمانی که داده فقط شامل تاریخ باشد، query شما همان طور که انتظار دارید کار خواهد کرد. اما اگر ساعت نیز شامل تاریخ شود، کار کمی پیچیده خواهد شد.
قبل از صحبت درباره پیچیدگی های ارسال query برای تاریخ، توابع مهم آن را با هم مرور می کنیم:
توابع تاریخ در MySQL
جدول زیر، لیستی از مهم ترین توابع تاریخ در MySQL را نشان می دهد:
توابع تاریخ در SQL Server
جدول زیر، لیستی از مهم ترین توابع تاریخ در SQL Server را نشان می دهد:
انواع داده های تاریخ در SQL
MySQL برای ذخیره مقادیر تاریخ و یا تاریخ / ساعت در پایگاه داده از فرمت های زیر استفاده می کند:
- DATE - format YYYY-MM-DD
- DATETIME - format: YYYY-MM-DD HH:MI:SS
- TIMESTAMP - format: YYYY-MM-DD HH:MI:SS
- YEAR - format YYYY or YY
SQL Server برای ذخیره مقادیر تاریخ و یا تاریخ / ساعت در پایگاه داده از فرمت های زیر استفاده می کند:
- DATE - format YYYY-MM-DD
- DATETIME - format: YYYY-MM-DD HH:MI:SS
- SMALLDATETIME - format: YYYY-MM-DD HH:MI:SS
- TIMESTAMP - format: a unique number
نکته: زمانی که یک جدول جدید در پایگاه داده ایجاد می کنید برای هر ستون، Data Type های آنرا انتخاب کنید.
کار با تاریخ در SQL
اگر مولفه ساعت در میان نباشد، براحتی می توانید دو تاریخ مختلف را با هم مقایسه کنید!
فرض کنید جدول "Orders" زیر را داریم:
حالا می خواهیم رکوردهایی با OrderDate "11-11-2008" را از جدول بالا انتخاب کنیم.
از دستور SELECT زیر استفاده می کنیم:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
نتیجه به شکل زیر خواهد بود:
حالا، فرض کنید که جدول "Orders" شبیه به آنچه در زیر می بینید باشد (به مولفه ساعت درستون “OrderDate” توجه کنید):
اگر مجددا از همان دستور SELECT که در بالا استفاده کردیم استفاده کنیم:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
نتیجه ای نخواهیم گرفت! علت این امر آن است که درخواست ارسالی از جانب ما تنها به دنبال تاریخ و نه ساعت می گردد.
نکته: اگر می خواهید Queryهای ساده ای داشته باشید، اجازه ندهید مولفه های ساعت در تاریخ های شما وارد شوند.
کدام یک از توابع زیر تاریخ جاری سیستم را بازمی گرداند؟
توابعی که تاریخ جاری سیستم را بازمیگردانند:
| پایگاه داده | تابع | توضیحات |
|---|---|---|
| MySQL | NOW() | تاریخ و ساعت جاری را برمیگرداند |
| MySQL | CURDATE() | فقط تاریخ جاری را برمیگرداند |
| SQL Server | GETDATE() | تاریخ و ساعت جاری را برمیگرداند |
مقاله مرتبط
آموزش دستور ALTER TABLE در SQL
یادگیری برنامه نویسی ، یکبار برای همیشه
آموزشگاه برنامه نویسی تحلیل داده برگزار کننده انواع دوره های آموزش برنامه نویسی ، با بهره گیری از اساتید مجرب و منابع آموزشی بهروز، شما را در مسیری هموار به سوی موفقیت هدایت میکند.
برای دریافت مشاوره و اطلاع از دوره ها با ما در ارتباط باشید !