none
Agregar Datos a un Campo RRS feed

  • Pregunta

  • Hola tengo el siguiente problema tengo en una tabla 2 campos de tipo Date time en uno guardo la Fecha y en Otro la Hora pero quisiera unirlos para ya no usar el campo HORA y eliminarlo, pero necesito pasar los datos que tiene el campo Hora al campo fecha es decir

                     Fecha                                         Hora 

                25/09/2012                                 11:32:00 a.m.  

    quisiera saber como puedo hacer una consulta en SQL 2000, que me pueda pasar los valores que tiene el campo hora al campo fecha para que me quede de la siguiente manera

                    Fecha                                          Hora

                25/09/2012 11:32:00 a.m.          11:32:00 a.m.  

       

    martes, 25 de septiembre de 2012 16:56

Respuestas

  • Hola Sergio revise bien y el error era mio me quedo de la siguiente manera:

    UPDATE    tbl_Maestros
    SET              FECHA2 = CAST(YEAR(FECHA) AS VARCHAR) + RIGHT('00' + CAST(MONTH(FECHA) AS VARCHAR), 2) + RIGHT('00' + CAST(DAY(FECHA) AS VARCHAR), 2) 
                          + ' ' + RIGHT('00' + CAST(DATEPART(HOUR, HORA) AS VARCHAR), 2) + ':' + RIGHT('00' + CAST(DATEPART(MI, HORA) AS VARCHAR), 2) 
                          + ':' + RIGHT('00' + CAST(DATEPART(SECOND, HORA) AS VARCHAR), 2).

    excelente aporte muchas gracias por tu pronta respuesta, se agrego la hora al campo fecha,

    Gracias Nuevamente....

    • Marcado como respuesta Aleber Sevilla martes, 25 de septiembre de 2012 18:43
    martes, 25 de septiembre de 2012 18:43

Todas las respuestas

  • Hola amigo... no conozco mucho de las funciones que pudiera contener SQL SERVER 2000, creo que las que pudieras utilizar son estas : 

    select CAST(YEAR( getdate() ) AS VARCHAR) + RIGHT( '00'+CAST( month( getdate()) AS VARCHAR),2 )+

    RIGHT( '00'+CAST( day( getdate()) AS VARCHAR),2 ) +' ' + RIGHT( '00'+CAST( datepart(HOUR, getdate()) AS VARCHAR),2 )+':'+

    RIGHT( '00'+CAST( datepart( MI, getdate()) AS VARCHAR),2 )+':'+RIGHT( '00'+CAST( datepart( SECOND, getdate()) AS VARCHAR),2 )

    En tu caso sería así : 

    UPDATE tuTabla SET campoFinal = CAST(YEAR( tuCampoFecha ) AS VARCHAR) + RIGHT( '00'+CAST( month( tuCampoFecha) AS VARCHAR),2 )+

    RIGHT( '00'+CAST( day( tuCampoFecha) AS VARCHAR),2 ) +' ' + RIGHT( '00'+CAST( datepart(HOUR, tuCampoHora ) AS VARCHAR),2 )+':'

    +RIGHT( '00'+CAST( datepart( MI, tuCampoHora ) AS VARCHAR),2 )+':'+RIGHT( '00'+CAST( datepart( SECOND, tuCampoHora ) AS VARCHAR),2 )

    Considero que no tendrías problemas...

    SALUDOS!


    Sergio Sánchez Arias




    • Editado Sergio S Arias martes, 25 de septiembre de 2012 17:39
    • Propuesto como respuesta Sergio S Arias martes, 25 de septiembre de 2012 21:55
    martes, 25 de septiembre de 2012 17:12
  • Te recomendaria aplicar el cambio de la siguiente manera:

    1) Crear una nueva columna Fecha_Hora con el tipo de dato Datetime.

    2) Crear una sentencia Update en la que esa columna sea cargada con los datos de la columna Fecha

    3) Actualizar la columna Fecha_Hora en este caso adicionandole los datos de Hora con la funcion DateADD (http://msdn.microsoft.com/es-es/library/ms186819.aspx)

    4) Una vez confirmado el resultado proceder a eliminar las columnas.

    En caso de que te sea posible, es decir que gozas de los privilegios, puedes realizar estas pruebas en una copia de la tabla fuente, a fin de prevenir cualquier problema.


    "How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez

    martes, 25 de septiembre de 2012 17:14
  • Hola Sergio revise bien y el error era mio me quedo de la siguiente manera:

    UPDATE    tbl_Maestros
    SET              FECHA2 = CAST(YEAR(FECHA) AS VARCHAR) + RIGHT('00' + CAST(MONTH(FECHA) AS VARCHAR), 2) + RIGHT('00' + CAST(DAY(FECHA) AS VARCHAR), 2) 
                          + ' ' + RIGHT('00' + CAST(DATEPART(HOUR, HORA) AS VARCHAR), 2) + ':' + RIGHT('00' + CAST(DATEPART(MI, HORA) AS VARCHAR), 2) 
                          + ':' + RIGHT('00' + CAST(DATEPART(SECOND, HORA) AS VARCHAR), 2).

    excelente aporte muchas gracias por tu pronta respuesta, se agrego la hora al campo fecha,

    Gracias Nuevamente....

    • Marcado como respuesta Aleber Sevilla martes, 25 de septiembre de 2012 18:43
    martes, 25 de septiembre de 2012 18:43
  • De nada amigo, estamos para apoyarnos entre todos.. SALUDOS !

    Sergio Sánchez Arias

    martes, 25 de septiembre de 2012 18:47