Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Клауза WHERE за намиране на всички записи за определен месец

Мисля, че функцията, която търсите, е MONTH(date) . Вероятно ще искате да използвате 'YEAR' също.

Да приемем, че имате таблица с име things изглежда по следния начин:

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

И да кажем, че искате да изпълните, за да намерите всички записи, които имат happened_at през месец 2009/01 (януари 2009). SQL заявката ще бъде:

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

Което ще върне:

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. Разделете стойностите на няколко реда

  2. Sql грешка при актуализация:Операторът UPDATE е в конфликт с ограничението FOREIGN KEY

  3. Индекс на SQL Server Обратно сканиране:разбиране, настройка

  4. Използване на BINARY_CHECKSUM(*) с множество таблици

  5. Какво е SQL Operations Studio (SQLOPS)?