none
Convertir de texto a fecha RRS feed

  • Pregunta

  • Tengo un campo con el nombre "Unico" este muestra un código en el cual parte de él contiene la fecha de nacimiento de la persona, mi pregunta es si habrá una manera de extraer esa fecha y ubicarla como tipo de dato date

    Ejemplo:

    Unico                          |       fecha_nac

    GOMH060188203       |        06/01/1988

    como se puede ver seguido de los primeros 4 caracteres se muestra la fecha de nacimiento de la persona, habrá una forma de extraerlo, gracias de antemano


    Mario Ruiz Carrillo

    lunes, 17 de abril de 2017 22:09

Respuestas

  • Tengo un campo con el nombre "Unico" este muestra un código en el cual parte de él contiene la fecha de nacimiento de la persona, mi pregunta es si habrá una manera de extraer esa fecha y ubicarla como tipo de dato date

    Si la cadena que nos compartes es un patrón entonces es muy simple:

    DECLARE @Texto nvarchar(100) = 'GOMH060188203';
    
    SELECT FORMAT(
        CONVERT(date, STUFF(STUFF(SUBSTRING(@Texto, 5, 6), 3, 0, '/'), 6, 0, '/')), 'dd/MM/yyyy', 'en-US');
    GO
    
    --Resultado : 06/01/1988


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    lunes, 17 de abril de 2017 22:29

Todas las respuestas

  • Hola MarioRuizCarrillo

    Si tu campo unico, siempre tendrá la misma longitud de caracteres y tendrá la fecha posicionada donde lo mencionas, entonces te será de utilidad esta consulta, en ella estamos extrayendo el año, el mes, el dia y dándole formato date.

    El formato que indicas 06/01/1988 , SQl no te lo reconoce como date, en date lo encontrarás como 1988-01-06 y es así como te arroja esta consulta

    Select cast((select substring((select (SUBSTRING(unico,5,6))),5,2))+
    (select substring((select (SUBSTRING(unico,5,6))),3,2))+ 
    (select substring((select (SUBSTRING(unico,5,6))),1,2)) as DATE) as fecha
    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    lunes, 17 de abril de 2017 22:26
  • Tengo un campo con el nombre "Unico" este muestra un código en el cual parte de él contiene la fecha de nacimiento de la persona, mi pregunta es si habrá una manera de extraer esa fecha y ubicarla como tipo de dato date

    Si la cadena que nos compartes es un patrón entonces es muy simple:

    DECLARE @Texto nvarchar(100) = 'GOMH060188203';
    
    SELECT FORMAT(
        CONVERT(date, STUFF(STUFF(SUBSTRING(@Texto, 5, 6), 3, 0, '/'), 6, 0, '/')), 'dd/MM/yyyy', 'en-US');
    GO
    
    --Resultado : 06/01/1988


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    lunes, 17 de abril de 2017 22:29