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

Příkaz Datetime BETWEEN nefunguje na serveru SQL Server

Máte časy spojené s vašimi schůzkami? BETWEEN je včetně, ale když převedete 2013-10-18 na datum, stane se 2013-10-18 00:00:000.00. Cokoli, co je zaznamenáno po první sekundě z 18., se nezobrazí pomocí BETWEEN, pokud nezadáte hodnotu času.

Zkuste:

SELECT 
* 
FROM LOGS 
WHERE CHECK_IN BETWEEN 
    CONVERT(datetime,'2013-10-17') 
    AND CONVERT(datetime,'2013-10-18 23:59:59:998')

pokud chcete hledat celý den 18. Nastavil jsem milisekundy na 998, protože SQL Server v dotazu stahoval 2013-10-19 00:00:00:0000.

Pole SQL DATETIME mají milisekundy. Tak jsem do pole přidal 999.



  1. pomalý dotaz mysql

  2. Jak rozdělit řetězec a vložit hodnoty do tabulky v SQL Server

  3. Použití Kubernetes k nasazení PostgreSQL

  4. Proměnná pdo není ve funkci mysql definována