Oui, vous utiliseriez >=
et <
généralement pour les requêtes de plage horaire/date
Alternativement, vous pouvez soustraire 3 millisecondes de la limite supérieure pour obtenir la valeur datetime la plus élevée (pas la plus récente datetime2) pour ce jour (xxx 23:59.59.997
)
SELECT * FROM log_file
WHERE submission_date BETWEEN 1323714600000 AND 1323801000000-3
Remarque :soustraire 1 serait probablement OK si tout est en millisecondes...
Edit, exemple de pourquoi 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
Et fait intéressant, êtes-vous sûr qu'il est minuit ?
Pendant 1323813600 secondes, j'obtiens 2011-12-13 22:00:00
Sur SQL Server :
SELECT DATEADD(second, 1323813600, '19700101')
Sur MySQL
SELECT FROM_UNIXTIME(1323813600)