SQL - Fecha sql

   
Vista:

Fecha sql

Publicado por Beatriz (1 intervención) el 23/10/2017 21:02:42
¡Hola
Tengo un problema.Tengo unas fechas con este formato YYYYMM y quiero todos los datos que tienen de la maxima fecha a 12 meses anteriores.

Ejemplo

201702
201704
201604
201609
201709

En este caso quiero los datos desde 201709 hasta 201609.

Como puedo hacerlo con sql?

Muchas graicias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Fecha sql

Publicado por leonardo_josue (1078 intervenciones) el 23/10/2017 23:03:36
Hola Beatriz:

Un favor, NO REPITAS POST'S... no sé por qué abriste una nueva pregunta para postear exactamente lo mismo, Ojo con eso para la próxima.

Ahora bien, en cuanto a tu problema, algunas dudas:

1. ¿con qué BD's estás trabajando? es muy importante que SIEMPRE pongas este dato cuando hagas una pregunta en el foro, ya que la sintaxis entre cada uno de los distintos motores es muy distinta, sobre todo con el manejo de fechas:

2. ¿de qué tipo es tu campo? al decir que manejas un formato YYYYMM me da a entender que no guardas tu dato como tipo DATE, sino que lo guardas como tipo numérico o peor aun como tipo VARCHAR. esto es un error. Si necesitas manejar una fecha entonces LO MANEJAS COMO FECHA... si quieres PRESENTAR la información en un formato distinto al de fecha, entonces PRESENTAS el dato en el formato que quieras, pero el DATO sigue siendo fecha...

3. ¿Qué avance llevas con tu consulta? Porque imagino que intentaste hacer algo... siempre debes postear lo que sea que hayas intentado hacer, no importa si está mal o tiene errores... aquí te ayudamos a corregir y/o completar lo que haga falta.

4. Finalmente, investiga en tu manejador de BD's cómo sumar o restar días a una fecha... ese es realmente el meollo de este asunto.

Saludos.
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Fecha sql

Publicado por Isaias (1068 intervenciones) el 24/10/2017 20:27:53
Es correcto lo que dice Leo, no se deben repetir preguntas

Ya habia una respuesta a su duda
1
2
3
4
5
6
7
8
9
10
create table #MyChar (MyChar varchar(10))
insert into #MyChar values('201702'),
('201704'),
('201604'),
('201609'),
('201709')
 
select left(Mychar, 4) as Año,max(MyChar)
from #MyChar
group by left(Mychar, 4)

Año (No column name)
2016 201609
2017 201709
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar