2010-09-06 11 views
19

Esto debería ser una pregunta bastante simple, pero sé muy poco sobre SQL. Tengo una base de datos que tiene los siguientes campos:¿Cómo selecciono los registros de menos de 1 año?

  • client_id
  • scheduled_amount
  • deposit_amount
  • message_code_id
  • note_text
  • system_date

Ahora deseo seleccionar todos los registros que tienen menos de 1 año a partir de la ejecución de la declaración SQL. Sé que debería usar DateDiff, ¿alguien tiene alguna idea?

Gracias

Respuesta

47
select * 
from MyTable 
where MyDate > DATEADD(year, -1, GetDate()) 
+4

+1 para sargability. –

+1

+1 a su comentario Martin, por su uso de la palabra Sargability –

3

TRY

SELECT * FROM TABLE_NAME WHERE SYSTEM_DATE > DATEADD(YYYY, -1, GETDATE()) 

(no probado)

1
select ... from ... where YEAR(GETDATE()) - YEAR(YOURDATE) = 1 
Cuestiones relacionadas