Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

extraer el mes de una fecha con sql server 2005

Estas en el tema de extraer el mes de una fecha con sql server 2005 en el foro de SQL Server en Foros del Web. buenos dias, tengo un pequeño inconveniente extrayendo el mes de una fecha, yo extraigo la fecha de la siguiente forma: datepart(mm,<date>) y como resultado me ...
  #1 (permalink)  
Antiguo 10/11/2008, 09:48
Avatar de Pablo Cesar  
Fecha de Ingreso: septiembre-2007
Mensajes: 54
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo extraer el mes de una fecha con sql server 2005

buenos dias, tengo un pequeño inconveniente extrayendo el mes de una fecha, yo extraigo la fecha de la siguiente forma: datepart(mm,<date>) y como resultado me arroja digamos
1 que es enero
2 que es febrero
3que es marzo... y asi hasta el 12 que es dicembre

el problema es el siguiente : yo deseo obtener en los primero meses desde osea del 1 al 9 de la siguiente forma:
01,02,03,...09 y no encuentro la forma de obtenerlos. los agredezco de antemano por su respuesta
  #2 (permalink)  
Antiguo 10/11/2008, 10:08
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: extraer el mes de una fecha con sql server 2005

Prueba asi:
Cita:
select case when datepart(mm,'01/01/2008')<10 then '0' else '' end + cast(datepart(mm,'01/01/2008')as varchar)
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 10/11/2008, 10:57
Avatar de Pablo Cesar  
Fecha de Ingreso: septiembre-2007
Mensajes: 54
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo Respuesta: extraer el mes de una fecha con sql server 2005

buenas y gracias por responder el inconveniente es lo siguiente, hice un proedimiento almacenado de la siguiente forma:
SELECT Seccion.Sec_Codigo, RegistroAlumno.Reg_Codigo, Idioma.Idi_Nombre AS Idioma, Nivel.Niv_Detalle AS Nivel, Seccion.Sec_NroCiclo AS Ciclo,
ONota.not_Prom AS [Prom.], STR(DATEPART(yy, Seccion.Sec_FechaIni)) + SUBSTRING(Seccion.Mes_Codigo, 1, 2) AS Fec, MesAcademico.Mes_Detalle,
Empleado.Emp_Apellido + ', ' + Empleado.Emp_Nombre AS Docente, Sucursal.Suc_Direccion AS Lugar
FROM Empleado INNER JOIN
Seccion ON Empleado.Emp_Codigo = Seccion.Emp_Codigo INNER JOIN
RegistroAlumno ON Seccion.Sec_Codigo = RegistroAlumno.Sec_Codigo INNER JOIN
Idioma ON Seccion.Idi_Codigo = Idioma.Idi_Codigo INNER JOIN
NivelXIdioma ON Idioma.Idi_Codigo = NivelXIdioma.idi_Codigo INNER JOIN
Nivel ON Seccion.Niv_Codigo = Nivel.Niv_Codigo AND NivelXIdioma.Niv_Codigo = Nivel.Niv_Codigo INNER JOIN
MesAcademico ON Seccion.Mes_Codigo = MesAcademico.Mes_Codigo INNER JOIN
ONota ON RegistroAlumno.Reg_Codigo = ONota.Reg_Codigo INNER JOIN
Sucursal ON Seccion.Suc_Codigo = Sucursal.Suc_Codigo
WHERE (RegistroAlumno.Alu_Codigo LIKE @Alu_Codigo) AND (Seccion.Idi_Codigo LIKE @idi_codigo)
ORDER BY Fec

::::::::
la forma en la que obtuve el mes fue usando un substring, pero extrayendo del mescodigo (en parte de arriba en negrita) lo que yo queria era extraer el mes usando un substring de Seccion.Sec_FechaIni en negrita en la parte de arriba, pero creo que no se puede extraer usando un substring en un smalldatetime ademas me di cuenta de que usando un substring el proceso de la consulta se demora demasiado y eso creo que no es normal en un procedimiento almacenado eee no se si me puedes dar una idea mas amplia sobre este caso
de antemano gracias
  #4 (permalink)  
Antiguo 10/11/2008, 13:37
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: extraer el mes de una fecha con sql server 2005

Si ya tienes el valor en una columna de tu tabla para que calcularlo otra vez? Usa ese, y asi ahorras tiempo.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:55.