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

SQL Server 2008 избира данни само между месец и година

Вашето първо решение е почти готово, но е по-сложно, отколкото трябва и така или иначе няма да работи. Ще пропусне всички редове от последния ден на последния месец.

Можете да добавите един месец към end month и след това използвайте BETWEEN на първо число на всеки месец. напр.

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

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

или, както посочва JNK, това ще бъде по-добре:

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

Ще трябва да добавите някаква логика, за да се справите с end month е декември, но това изглежда като най-простият начин да го направите.



  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. Преименувайте SA акаунта в SQL Server (пример за T-SQL)

  3. Как да вмъкнете няколко реда в таблица въз основа на диапазон от числа

  4. Как да получите числовата част от низ с помощта на T-SQL?

  5. Какво е „версия на ред“ в SQL Server?