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

Tanggal tanpa waktu

Dalam versi <2008 (yang, berdasarkan komentar lain untuk beberapa jawaban, saya yakin Anda menjalankannya), cara paling efisien adalah dengan menyimpannya sebagai tipe datetime dan menggunakan matematika tanggal untuk menghindari konversi string.

SELECT DATEADD(DAY, DATEDIFF(DAY, '20000101', purchase_time), '20000101') 
  FROM dbo.table;

EDIT

Jika Anda menginginkan tanggal hanya untuk tujuan tampilan, bukan untuk perhitungan atau pengelompokan, itu mungkin paling baik ditangani di klien. Anda dapat melakukannya dalam SQL hanya dengan mengatakan:

SELECT dt = CONVERT(CHAR(10), purchase_time, 120)
  FROM dbo.table;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nama kolom sebagai parameter dalam pernyataan INSERT

  2. Pilih baris teratas hingga nilai di kolom tertentu muncul dua kali

  3. TSQL membagi hasil secara merata ke grup dan memperbaruinya

  4. 3 Cara Menghapus Baris Duplikat di SQL Server sambil Mengabaikan Kunci Utama

  5. Bagaimana Pernyataan IF Bekerja di SQL Server