Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wykonać zapytanie o wszystkie daty większe niż określona data w programie SQL Server?

select *  
from dbo.March2010 A 
where A.Date >= Convert(datetime, '2010-04-01' )

W zapytaniu 2010-4-01 jest traktowany jako wyrażenie matematyczne, więc w istocie brzmi

select *  
from dbo.March2010 A 
where A.Date >= 2005; 

(2010 minus 4 minus 1 is 2005 Konwertowanie go na właściwą datetime , a użycie pojedynczych cudzysłowów rozwiąże ten problem.)

Technicznie rzecz biorąc, parser może pozwolić ci ujść na sucho

select *  
from dbo.March2010 A 
where A.Date >= '2010-04-01'

wykona konwersję za Ciebie, ale moim zdaniem jest mniej czytelny niż jawna konwersja do DateTime dla programisty serwisowego, który przyjdzie po tobie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy kolejność kolumn w klauzuli WHERE ma znaczenie?

  2. Metody oceniania wierszy w programie SQL Server:ROW_NUMBER(), RANK(), DENSE_RANK() i NTILE()

  3. Python wywołuje procedurę składowaną sql-server z parametrem o wartości tabeli

  4. Jak mogę wybrać z listy wartości w SQL Server?

  5. Zresetuj AutoIncrement w SQL Server po usunięciu