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

Menghilangkan Milidetik dalam Tanggal

Gunakan DATETIME2 , tipe data baru di SQL Server 2008 yang mendukung presisi pecahan:

SELECT
  CONVERT(DATETIME2(0),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss]
, CONVERT(DATETIME2(1),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.f]
, CONVERT(DATETIME2(2),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.ff]
, CONVERT(DATETIME2(3),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.fff]
, CONVERT(DATETIME2(4),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.ffff]
, CONVERT(DATETIME2(5),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.fffff]
, CONVERT(DATETIME2(6),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.ffffff]
, CONVERT(DATETIME2(7),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.fffffff]

Konversi akan dibulatkan ke satuan terdekat, misal:

2014-09-04 09:35:47.0162993 as DATETIME2(4) -> 
2014-09-04 09:35:47.0163

Atau, pada SQL 2005 dan sebelumnya:

SELECT
  original  = GETDATE()
, [floor]   = DATEADD(ms,-DATEPART(ms,GETDATE()),GETDATE())
, [ceiling] = DATEADD(ms,1000-DATEPART(ms,GETDATE()),GETDATE())
, [rounded] = DATEADD(ms,CASE WHEN DATEPART(ms,GETDATE()) < 500 THEN 0 ELSE 1000 END-DATEPART(ms,GETDATE()),GETDATE())

Ini sedikit lebih cepat daripada mengonversi ke dan dari representasi string.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menambahkan File Log ke Database SQL Server (T-SQL)

  2. Cara Mengaktifkan Semua Batasan PERIKSA &Kunci Asing untuk Tabel di SQL Server (Contoh T-SQL)

  3. Cara Mengubah Pengaturan Konfigurasi untuk Database Mail di SQL Server (T-SQL)

  4. Ganti nama Kunci Asing di SQL Server menggunakan T-SQL

  5. Pilih nilai dari bidang XML di SQL Server 2008