sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu vyloučit horní limit na serveru BETWEEN sql

Ano, použili byste >= a < obvykle pro dotazy na čas/datum

Případně můžete od horního limitu odečíst 3 milisekundy, abyste získali nejvyšší hodnotu datetime (nikoli novější datetime2) pro daný den (xxx 23:59.59.997 )

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

Poznámka:odečtení 1 by pravděpodobně bylo v pořádku, pokud je vše v milisekundách...

Upravit, příklad proč 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

A co je zajímavé, jsi si jistý, že je půlnoc?
Na 1323813600 sekund dostanu 2011-12-13 22:00:00

Na serveru SQL:

SELECT DATEADD(second, 1323813600, '19700101') 

Na MySQL

SELECT FROM_UNIXTIME(1323813600)


  1. Někdy MŮŽETE převést sloupec na místě

  2. Nelze vytvořit více vlastních db tabulek při aktivaci wp Plugin

  3. Desetinné hodnoty v SQL pro dělení výsledků

  4. Co je tady špatného na mém SQL? #1089 - Nesprávný klíč předpony