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

Standar untuk penambahan Tanggal/Waktu?

Menurut standar POSIX.1-2001, bulan depan (seperti penambahan tm_mon sebelum memanggil mktime ) dilakukan dengan menyesuaikan nilai sampai cocok. Jadi, misalnya, bulan depan dari tanggal 31 Januari 2001 adalah tanggal 3 Maret 2001. Hal ini karena tm_mday dari 31 tidak valid dengan tm_mon dari 1 (Februari), sehingga dinormalisasi menjadi tm_mon dari 2 (Maret) dan tm_mday dari 3.

Bulan berikutnya dari 31 Januari 2000 adalah 2 Maret 2000, karena Februari memiliki 29 hari tahun itu. Bulan berikutnya dari Januari 1 2038 tidak ada, tergantung.

Hal hebat tentang standar adalah banyaknya pilihan . Periksa standar SQL, saya yakin Anda dapat menemukan arti yang berbeda dari bulan depan. Saya menduga ISO 8601 dapat memberi Anda pilihan lain. Intinya adalah, ada banyak perilaku yang berbeda, arti dari 'bulan depan' sangat spesifik untuk domain.

edit:Saya berpikir Saya telah menemukan bagaimana SQL-92 menanganinya, ternyata meminta bulan depan dari tanggal 31 Januari adalah sebuah kesalahan.

Tautan:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. COALESCE() untuk bidang kosong (tetapi bukan nol)

  2. sisipan bersyarat mysql - jika tidak ada sisipkan

  3. Prosedur tersimpan MySQL vs fungsi, mana yang akan saya gunakan kapan?

  4. Migrasi Laravel - Pelanggaran batasan integritas:1452 Tidak dapat menambah atau memperbarui baris anak:batasan kunci asing gagal

  5. Kesalahan 2006:Server MySQL telah hilang menggunakan Python, Bottle Microframework, dan Apache