Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengubah nilai numerik menjadi waktu tanggal

Tanggal Anda sebenarnya adalah nilai numerik (float atau integer), disimpan dalam kolom char. Jadi, Anda perlu mengubahnya menjadi nilai numerik (dalam hal ini, menjadi float ) dulu, seperti:

select convert(datetime, CONVERT(float,date_column))

Nilai 41547.5 akan mengakibatkan:

`2013-10-02 12:00:00`

Argumen gaya, dalam kasus Anda 6 hanya diperlukan saat mengonversi dari atau ke tipe-char. Dalam hal ini tidak diperlukan dan akan diabaikan.

NB:Nilai float adalah jumlah hari sejak 1900-01-01 .

misalnya select convert(datetime, CONVERT(float,9.0)) => 1900-01-10 00:00:00; sama dengan select dateadd(day,9.0,'1900-01-01') akan.

Bagian desimal dari angka juga sama dengan hari; jadi 0.5 adalah setengah hari / 12 jam.

misalnya select convert(datetime, CONVERT(float,.5)) => 1900-01-01 12:00:00 . (Di sini perbandingan kami dengan dateadd tidak masuk akal, karena itu hanya berhubungan dengan bilangan bulat daripada float).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan Failover Partner ke string koneksi di VB.NET

  2. Menggabungkan nilai berdasarkan ID

  3. Log Transaksi SQL Server — Bagian 2

  4. Database Cadangan SQL Server Express | Cara Menjadwalkan Otomatisasi dan Membersihkan Pencadangan SQL Express

  5. Cara membuat file teks menggunakan skrip sql dengan teks |