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

Convertir un string MMYY a fecha

Estas en el tema de Convertir un string MMYY a fecha en el foro de SQL Server en Foros del Web. tengo un sp donde recibo un varchar(50), que viene con el siguiente formato: MMYY donde: MM=Mes YY=Año y debo compararlo con la fecha de hoy ...
  #1 (permalink)  
Antiguo 19/07/2007, 12:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 3 meses
Puntos: 0
Convertir un string MMYY a fecha

tengo un sp donde recibo un varchar(50), que viene con el siguiente formato:

MMYY
donde:
MM=Mes
YY=Año

y debo compararlo con la fecha de hoy (getdate) para saber si es mayor,


alguien me puede decir como puedo convertir MMYY a fecha??

gracias

Martin
  #2 (permalink)  
Antiguo 19/07/2007, 12:25
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: Convertir un string MMYY a fecha

¿No lo pueden enviar por lo menos MMYYYY?
  #3 (permalink)  
Antiguo 19/07/2007, 13:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Convertir un string MMYY a fecha

jaja lamentablemente no...
Sino alguien tiene idea si me dan un string..
MMYY en este caso

y quiero que me devuelva MM
y YY separados

(para comparar con year y month de getdate)

me sirve tb
  #4 (permalink)  
Antiguo 19/07/2007, 18:06
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: Convertir un string MMYY a fecha

Que extraño que se cometa el mismo error, que se cometio en el cambio del año 2000, cuando cambies a 2010, tendras problemas, creo yo, aunque para esa fecha, ya no nos importe mucho, Alejandro Mesa, te dio una respuesta en foro de Microsoft.

declare @s varchar(5)

set @s = '0707'

select 1
where
parsename(convert(char(8), getdate(), 4), 1) = parsename(stuff(@s, 3, 0,
'.'), 1)
and parsename(stuff(@s, 3, 0, '.'), 2) = parsename(convert(char(8),
getdate(), 4), 2)
  #5 (permalink)  
Antiguo 20/07/2007, 07:10
 
Fecha de Ingreso: octubre-2004
Mensajes: 142
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Convertir un string MMYY a fecha

dependiendo del formato de fecha que uses (españo o americano ó etc) agregale un 01 a la cadena para darle un día. asi ya lo puedes meter en un month(lo_que_sea) y comparar
dime si te funcionó
  #6 (permalink)  
Antiguo 20/07/2007, 14:05
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Convertir un string MMYY a fecha

sinceramente no entendí el mensaje y al ejecurarlo me devuelve 1, como debe ser....

en mi sp voy a recibir como parametro de entrada MMYY


quiero ver si es mayor que la fecha de hoy (getdate)

supongamos que la fecha que me pasan como parametro es @fecha
y viene con MMYY

cuál es la función o mecanismo a usar para poder compararlo con getdate?

gracias por las respuestas
martin
  #7 (permalink)  
Antiguo 20/07/2007, 18:09
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Convertir un string MMYY a fecha

Código:
Declare @pfecha      varchar(4)
       ,@Medio       int
       ,@pAnnio      int
       ,@pMes        int
       ,@CurrentDate datetime

Set @Medio = 50          -- 1950 Año a partir del cual se considera como del siglo anterior
Set @pFecha = '0708'     -- Fecha recibida como parametro MMYY

Set @pMes        = cast(SUBSTRING(@pFecha,1,2) as int)
Set @pAnnio      = cast(SUBSTRING(@pFecha,3,2) as int) 
Set @CurrentDate = getdate()

Set @pAnnio = @pAnnio + Case When @pAnnio > @Medio Then 1900 Else 2000 End

print Case When  @pAnnio > year(@CurrentDate) Or
                (@pAnnio = Year(@CurrentDate) And  @pMes > month(@CurrentDate)) Then 'La Fecha es Mayor'
           When  @pAnnio = Year(@CurrentDate) And  @pMes = month(@CurrentDate)  Then 'La Fecha es Igual'
           When  @pAnnio < Year(@CurrentDate) Or
                (@pAnnio = Year(@CurrentDate) And  @pMes < month(@CurrentDate))  Then 'La Fecha es Menor'
           End
Saludos
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
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 01:22.