2011-04-27 9 views
9

En la base de datos con la que estoy trabajando, deseo seleccionar solo el año de un campo específico de marca de tiempo. En particular, espero seleccionar los años únicos de esta columna de base de datos.Cómo seleccionar una parte de una marca de tiempo en una consulta SQL

Por ejemplo, si todas las marcas de tiempo en el campo "ModifyTimeStamp" son del año 2002 o del año 2006, me gustaría que se devuelva simplemente un resultado de '2002' y '2006'. Si esto es imposible, estaría contento con obtener un resultado de un montón de '2002 mezclado con' 2006 y lo analizaré más tarde.

Todo lo que he podido trabajar hasta ahora es "Select ModifyTimeStamp from Table" - todos mis intentos de analizar han fallado. Empecé a leer sobre el comando extract para SQL, pero creo que es solo para PostgreSQL.

Cualquier consejo muy apreciado!

Editar: Obtuve la respuesta, muchas gracias datagod y Marc. El código que estaba buscando ser terminado:

"Select distinct YEAR(ModifyTimeStamp) from Table"

+0

Qué base de datos? (Además, la información aleatoria: 'timestamp' en SQL Server no tiene nada que ver con las fechas u horas ;-) –

+0

Lo sentimos, se olvidó de especificar. Base de datos MySQL – pghprogrammer4

Respuesta

10

no especifica cuales RDBMS (servidor de base de datos) que está utilizando, pero la mayoría de las bases de datos no tienen fecha funciones para el manejo integrados:

  • MySQL/SQL Server:

    select YEAR(modifytimestamp) from yourtable 
    
  • Acceso/SQL Server:

    select DatePart(year, modifytimestamp) from yourtable 
    
  • Oracle:

    select TO_CHAR(modifytimestamp, 'YYYY') from yourtable 
    
8

Prueba este

select distinct datepart(yy,TheDate) from YourTable
+1

Esto funciona para MS SQL Server, pero otros RDBMS tendrán llamadas a funciones similares. –

+0

Referencia: [SQL Server (2008) datepart] (http://msdn.microsoft.com/en-us/library/ms174420.aspx) –

+1

Gracias datagod. Mi comando real terminó siendo un poco diferente, pero me pones en el camino correcto con la palabra clave "distinta". No puedo creer que me haya perdido eso en mi búsqueda ... – pghprogrammer4

Cuestiones relacionadas