في مجال إدارة قواعد البيانات، غالبًا ما يكون من الضروري تحويل أرقام العصر إلى تواريخ يمكن قراءتها بواسطة الإنسان. تُستخدم أرقام العصر، التي تمثل نقطة زمنية منذ حقبة محددة، بشكل شائع لتخزين البيانات المؤقتة في أنظمة قواعد البيانات مثل MySQL.
فكر في السيناريو الافتراضي حيث يكون لديك رقم عصر، مثل 1389422614485، والذي يمثل نقطة زمنية محددة. نوع بيانات هذه القيمة هو varchar، وترغب في تحويله إلى تنسيق تاريخ مفهوم.
الحل التفصيلي
لإنجاز هذا التحويل في MySQL، عليك تحتاج إلى الاستفادة من مجموعة من الوظائف الرياضية والدالة from_unixtime():mysql> حدد from_unixtime(floor(1389422614485/1000));mysql> select from_unixtime(floor(1389422614485/1000));
شرحفي هذا المثال، يتم استخدام الدالة from_unixtime() لتحويل رقم العصر، والذي يمثل عادةً ميلي ثانية منذ العصر، إلى سلسلة تاريخ. نظرًا لأن رقم العصر الخاص بنا يبدو أنه يتمتع بدقة مللي ثانية، فإننا نستخدم الكلمة (1389422614485/1000) لتحويله إلى ثوانٍ منذ العصر، وهو الإدخال الذي تتوقعه from_unixtime().
Output--------------------------------------------------------- | from_unixtime(floor(1389422614485/1000)) | ------------------------------------------ | 2014-01-11 12:13:34 | ------------------------------------------
------------------------------------------ | from_unixtime(floor(1389422614485/1000)) | ------------------------------------------ | 2014-01-11 12:13:34 | ------------------------------------------تحديث لـ MySQL 8.0 وما فوق
اعتبارًا من الإصدار 8.0 من MySQL، لم تعد الدالة الأرضية ضرورية عند العمل بالمللي ثانية في الدالة from_unixtime(). يمكنك توفير رقم العصر بالمللي ثانية مباشرةً كوسيطة:
mysql> حدد from_unixtime(1594838230234/1000);
mysql> select from_unixtime(1594838230234/1000);
------------------------------------------
| from_unixtime(1594838230234/1000) |
------------------------------------------
| 2020-07-15 18:37:10.2340 |
------------------------------------------ هذا المكرر يدعم إصدار الاستعلام الآن دقة النانو ثانية أيضًا.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3