تواريخ SQL
الجزء الأكثر صعوبة عند العمل مع تواريخ هو للتأكد من أن شكل التاريخ الذي تحاول إدراج، يطابق تنسيق العمود تاريخ في قاعدة البيانات.
الخلية وظائف التسجيل
يسرد الجدول التالي وظائف تاريخ أهم المضمنة في الخلية:
وظيفة | وصف |
---|---|
NOW() | إرجاع التاريخ والوقت الحالي |
CURDATE() | إرجاع التاريخ الحالي |
CURTIME() | إرجاع الوقت الحالي |
DATE() | استخراج جزء التاريخ من التاريخ أو تاريخ التعبير / الساعة |
EXTRACT() | يعود جزء واحد من تاريخ / وقت |
DATE_ADD() | ويضيف فترة محددة من الزمن إلى تاريخ |
DATE_SUB() | يطرح فترة زمنية محددة من تاريخ |
DATEDIFF() | إرجاع عدد الأيام بين تاريخين |
DATE_FORMAT() | يعرض تاريخ / بيانات الوقت في أشكال مختلفة |
SQL وظائف خادم التسجيل
يسرد الجدول التالي وظائف تاريخ المدمج في أهم في SQL Server:
وظيفة | وصف |
---|---|
GETDATE() | إرجاع التاريخ والوقت الحالي |
DATEPART() | يعود جزء واحد من تاريخ / وقت |
DATEADD() | يضيف أو ينقص فترة زمنية محددة من تاريخ |
DATEDIFF() | ترجع الوقت بين تاريخين |
CONVERT() | يعرض تاريخ / بيانات الوقت في أشكال مختلفة |
أنواع البيانات SQL التسجيل
MySQL يأتي مع أنواع البيانات التالية لتخزين تاريخ أو وقت / قيمة الوقت في قاعدة البيانات:
- التاريخ - شكل YYYY-MM-DD
- DATETIME - شكل: YYYY-MM-DD HH: MI: SS
- الطابع الزمني - شكل: YYYY-MM-DD HH: MI: SS
- سنة - شكل س س س س أو ص ص
SQL Server يأتي مع أنواع البيانات التالية لتخزين تاريخ أو وقت / قيمة الوقت في قاعدة البيانات:
- التاريخ - شكل YYYY-MM-DD
- DATETIME - شكل: YYYY-MM-DD HH: MI: SS
- SMALLDATETIME - شكل: YYYY-MM-DD HH: MI: SS
- الطابع الزمني - شكل: رقم فريد
Note: يتم اختيار أنواع تاريخ لعمود عند إنشاء جدول جديد في قاعدة البيانات الخاصة بك!
لمحة عامة عن جميع أنواع البيانات المتاحة، انتقل إلى لدينا كاملة إشارة أنواع البيانات .
SQL التعامل مع التواريخ
يمكنك مقارنة تاريخين بسهولة إذا كان هناك أي عنصر الوقت الذي يتطلبه!
نفترض لدينا ما يلي "Orders" الجدول:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
الآن نحن نريد لتحديد السجلات التي تحتوي على OrderDate من "2008-11-11" من الجدول أعلاه.
نحن نستخدم عبارة SELECT التالية:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
وسوف يقدم مجموعة النتائج تبدو مثل هذا:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
الآن، افترض أن "Orders" الجدول يبدو مثل هذا (لاحظ وجود عنصر الزمن في "OrderDate" عمود):
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | الكممبير بييرو | 2008-11-09 15:45:21 |
3 | جبن موزاريلا دي جيوفاني | 2008-11-11 11:12:01 |
4 | مسكربون Fabioli | 2008-10-29 14:56:59 |
وإذا استخدمنا نفس العبارة SELECT على النحو الوارد أعلاه:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
وسوف نحصل على أي نتيجة! وذلك لأن الاستعلام هو يبحث فقط عن مواعيد مع أي جزء الوقت.
Tip: إذا كنت تريد أن تبقي استفساراتكم بسيطة وسهلة للحفاظ على، لا تسمح مكونات وقت في التواريخ!