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

SQL Server 2008 wybierz dane tylko między miesiącem a rokiem

Twoje pierwsze rozwiązanie jest już prawie gotowe, ale jest bardziej skomplikowane niż powinno i i tak nie zadziała. Pominie wszystkie wiersze z ostatniego dnia miesiąca końcowego.

Możesz dodać jeden miesiąc do end month a następnie użyj BETWEEN pierwszego dnia każdego miesiąca. np.

start month: 9 , start year: 2011 end month: 3, end year: 2012

BETWEEN '2011-09-01' AND '2012-04-01'

lub, jak wskazuje JNK, tak będzie lepiej:

DataDelega >= '2011-09-01' AND DataDelega < '2012-04-01'

Musisz dodać trochę logiki, aby poradzić sobie z end month jest grudzień, ale wygląda na to, że jest to najprostszy sposób na zrobienie tego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak wyświetlić wartość kolumny tylko raz, jeśli jest powtarzana i pusta, dopóki w sql nie pojawi się inna wartość?

  2. Jak używać funkcji agregującej SUM w kolumnie aliasu?

  3. Nie można połączyć pyODBC z SQL Server 2008 Express R2

  4. Pliki FILESTREAM pozostają po usunięciu wiersza

  5. Elastyczny klucz obcy