Separar fecha y hora en campos distintos
Publicado por Felipe (2 intervenciones) el 18/07/2012 22:41:57
Actualmente estoy ejecutando un comando por sqlcmd para exportar datos de mi tabla de SQL2008 Express a un archivo TXT con el siguiente comando:
sqlcmd -S EQUIPOC\INSTANCIA -o C:\Datos.txt -U USUARIO -P PASSWORD -d BASEDEDATOS -Q "set nocount on; SELECT 115 as Campo1, [Campo2], [Campo3], [Campo4] FROM Tabla WHERE convert(datetime, convert(varchar, [Campo2], 108), 108) between convert(datetime, '08:00:00', 108) AND convert(datetime, '23:00:00', 108) " -h-1 -s ";"
este es el resultado:
151;2012-07-17 13:00:00.000; 57; 45
151;2012-07-17 14:00:00.000; 24; 22
151;2012-07-17 15:00:00.000; 0; 0
151;2012-07-17 16:00:00.000; 140; 119
151;2012-07-17 17:00:00.000; 90; 99
151;2012-07-17 18:00:00.000; 13; 20
151;2012-07-17 19:00:00.000; 0; 0
151;2012-07-17 20:00:00.000; 0; 0
151;2012-07-17 21:00:00.000; 0; 0
151;2012-07-17 22:00:00.000; 0; 0
151;2012-07-17 23:00:00.000; 0; 0
151;2012-07-18 00:00:00.000; 0; 0
151;2012-07-18 01:00:00.000; 0; 0
151;2012-07-18 02:00:00.000; 0; 0
151;2012-07-18 03:00:00.000; 0; 0
151;2012-07-18 04:00:00.000; 0; 0
151;2012-07-18 05:00:00.000; 0; 0
151;2012-07-18 06:00:00.000; 0; 0
151;2012-07-18 07:00:00.000; 0; 0
151;2012-07-18 08:00:00.000; 1; 0
151;2012-07-18 09:00:00.000; 42; 33
151;2012-07-18 10:00:00.000; 93; 125
151;2012-07-18 11:00:00.000; 114; 124
151;2012-07-18 12:00:00.000; 76; 66
Como se ve estoy extrayendo la data de horarios especificos, pero tengo un problema, necesito separar el segundo campo que dentro de mi tabla es llamado DateTimeStamp y separar la fecha y la hora en distintos campos pero no se que metodo puedo ocupar.
Mi otro problema es como almacenar 10 días en el TXT ya que se me formaria un archivo muy grande si pasaran 3 meses o mas, por lo que necesito que en el TXT siempre hayan 10 dias de historial.
Agradezco de antemano su ayuda.
Gracias.
sqlcmd -S EQUIPOC\INSTANCIA -o C:\Datos.txt -U USUARIO -P PASSWORD -d BASEDEDATOS -Q "set nocount on; SELECT 115 as Campo1, [Campo2], [Campo3], [Campo4] FROM Tabla WHERE convert(datetime, convert(varchar, [Campo2], 108), 108) between convert(datetime, '08:00:00', 108) AND convert(datetime, '23:00:00', 108) " -h-1 -s ";"
este es el resultado:
151;2012-07-17 13:00:00.000; 57; 45
151;2012-07-17 14:00:00.000; 24; 22
151;2012-07-17 15:00:00.000; 0; 0
151;2012-07-17 16:00:00.000; 140; 119
151;2012-07-17 17:00:00.000; 90; 99
151;2012-07-17 18:00:00.000; 13; 20
151;2012-07-17 19:00:00.000; 0; 0
151;2012-07-17 20:00:00.000; 0; 0
151;2012-07-17 21:00:00.000; 0; 0
151;2012-07-17 22:00:00.000; 0; 0
151;2012-07-17 23:00:00.000; 0; 0
151;2012-07-18 00:00:00.000; 0; 0
151;2012-07-18 01:00:00.000; 0; 0
151;2012-07-18 02:00:00.000; 0; 0
151;2012-07-18 03:00:00.000; 0; 0
151;2012-07-18 04:00:00.000; 0; 0
151;2012-07-18 05:00:00.000; 0; 0
151;2012-07-18 06:00:00.000; 0; 0
151;2012-07-18 07:00:00.000; 0; 0
151;2012-07-18 08:00:00.000; 1; 0
151;2012-07-18 09:00:00.000; 42; 33
151;2012-07-18 10:00:00.000; 93; 125
151;2012-07-18 11:00:00.000; 114; 124
151;2012-07-18 12:00:00.000; 76; 66
Como se ve estoy extrayendo la data de horarios especificos, pero tengo un problema, necesito separar el segundo campo que dentro de mi tabla es llamado DateTimeStamp y separar la fecha y la hora en distintos campos pero no se que metodo puedo ocupar.
Mi otro problema es como almacenar 10 días en el TXT ya que se me formaria un archivo muy grande si pasaran 3 meses o mas, por lo que necesito que en el TXT siempre hayan 10 dias de historial.
Agradezco de antemano su ayuda.
Gracias.
Valora esta pregunta


0