none
Formato de fecha RRS feed

  • Question

  • Buenos Dias, tengo un campo fecha con el siguiente formato:

    campo esta en formato texto por ejemplo cuando viene solo un digito en el dia esta asi 1022013 y cuando son dos digitos 10022013

    por ejemplo en lo dia del 1 hasta el 9 solo viene asi

    • 1022013 
    • 2022013
    • 3022013
    • 4022013

    y pasando del dia 10 adelante 

    • 10022013
    • 11022013
    • 11022013
    • 11022013

    lo que quisiera poder hacer es poner una condicion para si mi campo tiene 7 digitos que le agregue un cero a la izquierda.

    estaba hacuiendo una cadena

    select codofin,apenom,(ISNULL(LEFT(FNAC,2)+'/'+SUBSTRING(FNAC,3,2)+'/'+SUBSTRING(FNAC,5,4),0)),fnac  FROM SOCIOS

    cuando los dias son con dos dígitos esta ok=13/02/1957

    pero cuando es un dígito me sale en este formato erroneo=71/11/933 (deberia ser 07/11/1933)

    espero me puedan ayudar.


    lutermick


    • Edited by EdgCode Thursday, November 28, 2013 3:54 PM actualizar pregunta
    Thursday, November 28, 2013 3:44 PM

Answers

  • Yo lo que trataría es que ese campo fuera de tipo DATETIME (o DATE si la versión de SQL Server que usas lo admite) para olvidarte de ese tipo de problemas. Hasta entonces, una solución podría ser la siguiente:

    select codofin,apenom,(ISNULL(LEFT(RIGHT('0'+ FNAC, 8),2)+'/'+SUBSTRING(RIGHT('0'+ FNAC, 8),3,2)+'/'+SUBSTRING(RIGHT('0'+ FNAC, 8),5,4),0)),fnac  FROM SOCIOS

    Thursday, November 28, 2013 4:00 PM

All replies

  • Has probado con el convert ???

    select  convert(nvarchar(10),GETDATE(),103)


    -- Miseria solo trae miseria --

    Thursday, November 28, 2013 3:49 PM
  • Disculpen porfavor, me he explicado mal, el campo esta en formato texto por ejemplo cuando viene solo un digito en el dia esta asi 1022013 y cuando son dos digitos 10022013.

    lutermick

    Thursday, November 28, 2013 3:53 PM
  • Hola

    porque cortas la columna y concatenas si puedes utilizar un Convert como menciona Xikta?


    Si se solucionó tu consulta no olvides marcar la respuesta de esta forma mantendremos el orden en el Foro.

    José Carlos Barba Gutierrez
    Lima - Perú
    Saludos

    Thursday, November 28, 2013 3:56 PM
  • Solo anteponle un digito.

    SELECT RIGHT('0' + '1022013',8) fecha


    Lo escencial es invisible a los ojos. http://afernandeznet.wordpress.com/

    Thursday, November 28, 2013 4:00 PM
  • Yo lo que trataría es que ese campo fuera de tipo DATETIME (o DATE si la versión de SQL Server que usas lo admite) para olvidarte de ese tipo de problemas. Hasta entonces, una solución podría ser la siguiente:

    select codofin,apenom,(ISNULL(LEFT(RIGHT('0'+ FNAC, 8),2)+'/'+SUBSTRING(RIGHT('0'+ FNAC, 8),3,2)+'/'+SUBSTRING(RIGHT('0'+ FNAC, 8),5,4),0)),fnac  FROM SOCIOS

    Thursday, November 28, 2013 4:00 PM
  • gracias por su ayuda.. 

    update socios
    set fnac=RIGHT('0' + Ltrim(Rtrim(fnac)),8)
    where len(fnac)=7 


    lutermick

    Thursday, November 28, 2013 4:21 PM