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

Mengkonversi dari DateTime ke INT

EDIT:Casting ke float/int tidak lagi berfungsi di versi terbaru SQL Server. Gunakan yang berikut ini sebagai gantinya:

select datediff(day, '1899-12-30T00:00:00', my_date_field)
from mytable

Perhatikan bahwa tanggal string harus dalam format tanggal yang jelas sehingga tidak terpengaruh oleh pengaturan regional server Anda.

Di versi SQL Server yang lebih lama, Anda dapat mengonversi dari DateTime ke Integer dengan mentransmisikan ke float, lalu ke int:

select cast(cast(my_date_field as float) as int)
from mytable

(NB:Anda tidak dapat melakukan cast langsung ke int, karena MSSQL membulatkan nilainya jika Anda melewati tengah hari!)

Jika ada offset dalam data Anda, Anda dapat dengan jelas menambah atau mengurangi ini dari hasil

Anda dapat mengonversi ke arah lain, dengan melakukan cast langsung ke belakang:

select cast(my_integer_date as datetime)
from mytable


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa apakah RPC Out Diaktifkan pada Server Tertaut

  2. Apa yang terjadi pada ID kunci utama ketika melewati batas?

  3. Masukkan Perbarui proc yang disimpan di SQL Server

  4. Cara Menampilkan Kolasi Server di SQL Server (T-SQL)

  5. Apa itu Batasan Kunci Utama dalam Database SQL Server - Tutorial SQL Server / T-SQL Bagian 54