Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menyimpan tanggal dalam milidetik unix di Mysql?

Jangan. DateTime nilai harus disimpan sebagai DateTime , kecuali jika Anda memiliki alasan yang sangat bagus untuk menyimpannya sebaliknya (seperti untuk mendukung nilai tanggal dan waktu di luar nilai min/maks DateTime ), saya sarankan untuk membiarkannya dalam DateTime kolom.

Anda selalu dapat memanipulasi bagaimana Anda mengembalikannya dari database selama Select atau di lapisan presentasi. Untuk mengembalikan waktu unix dari DateTime , MySql menyediakan metode bawaan yang disebut UNIX_TIMESTAMP . Untuk mengembalikan jumlah milidetik, cukup kalikan dengan 1000, karena stempel waktu unix adalah jumlah detik sejak 1 Januari 1970 (tidak termasuk detik kabisat). Jika Anda ingin menyimpan waktu unix, Anda harus menggunakan tipe data int.

Harap dicatat bahwa jika Anda menyimpan waktu unix alih-alih menyimpan DateTime yang sebenarnya nilai dalam DateTime kolom tipe data, Anda akan kehilangan kemampuan untuk menggunakan semua fungsi basis data bawaan datetime dengan mudah. Misalnya, jika Anda ingin mengetahui berapa banyak baris yang termasuk dalam bulan tertentu, Anda harus terlebih dahulu menerjemahkan data dari int ke datetime, dan baru kemudian Anda dapat menghitungnya.

Anda juga akan kehilangan akurasi (karena waktu unix tidak akurat bahkan pada resolusi 1 detik, karena mengabaikan detik kabisat).

Jadi, untuk menyimpulkan - Ketika database menawarkan tipe data yang sesuai dengan data, jangan menyimpan data itu menggunakan tipe data yang berbeda. gunakan Date tipe data jika Anda hanya ingin menyimpan tanggal, DateTime tipe data jika Anda ingin menyimpan nilai datetime, dan Time tipe data jika Anda ingin menyimpan waktu tertentu dalam sehari.

P.S.
Saat berurusan dengan nilai waktu tanggal, Terutama jika Anda harus berurusan dengan klien dari beberapa lokasi, SELALU simpan hanya waktu tanggal UTC di database Anda, kecuali, tentu saja, Anda ingin menjadi gila.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbedaan menit dari dua bidang waktu di MySQL

  2. Koneksi ditolak ke MySQL di laravel dan MAMP

  3. Mysql menghapus kata tertentu dalam string yang dipisahkan koma

  4. Sistem peringkat suka/tidak suka sederhana di php dan MySQL

  5. MySQL:Menulis ke node budak