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

Bagaimana saya bisa mengecualikan batas atas di ANTARA server sql

Ya, Anda akan menggunakan >= dan < biasanya untuk kueri rentang waktu/tanggal

Atau, Anda dapat mengurangi 3 milidetik dari batas atas untuk mendapatkan nilai datetime (bukan datetime2) tertinggi untuk hari itu (xxx 23:59.59.997 )

SELECT * FROM   log_file
WHERE  submission_date BETWEEN 1323714600000 AND 1323801000000-3

Catatan:mengurangkan 1 mungkin akan baik-baik saja jika semuanya milidetik...

Sunting, contoh mengapa 3ms

SELECT 
    DATEADD(millisecond, -1, '20111214'), -- 2011-12-14 00:00:00.000
    DATEADD(millisecond, -2, '20111214'), -- 2011-12-13 23:59:59.997
    DATEADD(millisecond, -3, '20111214')  -- 2011-12-13 23:59:59.997

Dan yang menarik, apakah Anda yakin ini tengah malam?
Selama 1323813600 detik, saya mendapatkan 2011-12-13 22:00:00

Di SQL Server:

SELECT DATEADD(second, 1323813600, '19700101') 

Di MySQL

SELECT FROM_UNIXTIME(1323813600)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menjelajahi Operasi Indeks Online Tingkat Partisi di SQL Server 2014 CTP1

  2. Instalasi SQL Server 2008

  3. SQL Server 2016:Simpan Hasil Kueri ke File CSV

  4. Cara Terbaik untuk memanggil Layanan Web dari TSQL

  5. Menggunakan Set Hasil Dari Sub SELECT Ketika Baris Duplikat Dihadapi