sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server datetime LIKE seleccionar?

Podrías usar la función DATEPART()

SELECT * FROM record 
WHERE  (DATEPART(yy, register_date) = 2009
AND    DATEPART(mm, register_date) = 10
AND    DATEPART(dd, register_date) = 10)

Encuentro que esta forma es fácil de leer, ya que ignora el componente de tiempo y no tiene que usar la fecha del día siguiente para restringir su selección. Puede ir a una mayor o menor granularidad agregando cláusulas adicionales, usando el código DatePart apropiado, por ejemplo,

AND    DATEPART(hh, register_date) = 12)

para obtener registros hechos entre 12 y 1.

Consulte los documentos de MSDN DATEPART para ver la lista completa de argumentos válidos.