sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag utesluta övre gränsen i MELLAN sql-server

Ja, du skulle använda >= och < vanligtvis för frågor om tid/datumintervall

Alternativt kan du subtrahera 3 millisekunder från den övre gränsen för att få det högsta datetime-värdet (inte nyare datetime2) för den dagen (xxx 23:59.59.997 )

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

Notera:att subtrahera 1 skulle förmodligen vara OK om allt är millisekunder...

Redigera, exempel på varför 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

Och intressant, är du säker på att det är midnatt?
I 1323813600 sekunder får jag 2011-12-13 22:00:00

På SQL Server:

SELECT DATEADD(second, 1323813600, '19700101') 

På MySQL

SELECT FROM_UNIXTIME(1323813600)


  1. Importera sql-dump

  2. hur man strukturerar data för sökbarhet

  3. Trådsäkerhet för MySQL:s Select Last_Insert_ID

  4. SQLite AVG