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

Klauzula GDZIE znaleźć wszystkie rekordy w określonym miesiącu

Myślę, że funkcja, której szukasz, to MONTH(date) . Prawdopodobnie będziesz chciał użyć 'ROK' też.

Załóżmy, że masz tabelę o nazwie things wygląda to mniej więcej tak:

id happend_at
-- ----------------
1  2009-01-01 12:08
2  2009-02-01 12:00
3  2009-01-12 09:40
4  2009-01-29 17:55

I powiedzmy, że chcesz wykonać, aby znaleźć wszystkie rekordy, które mają happened_at w miesiącu 2009/01 (styczeń 2009). Zapytanie SQL to:

SELECT id FROM things 
   WHERE MONTH(happened_at) = 1 AND YEAR(happened_at) = 2009

Który zwróci:

id
---
1
3
4


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Debugowanie procedur składowanych w SQL Server Management Studio

  2. Ocenianie konfiguracji monitorowania wydajności bazy danych

  3. Wydajność INNER JOIN vs LEFT JOIN w SQL Server

  4. Uciekanie parametrów poleceń przekazanych do xp_cmdshell do dtexec

  5. Dlaczego precyzja maleje, gdy mnożymy sumę do innej liczby