Separar la fecha y la hora de un campo

Mi problema es que tengo varios sistemas desarrollados en Visual basic 6, administrados en SQL server 7.0, en todos manejo campos de fecha, pero en SQL no te separa la fecha de la hora como seria en access que si se puede. Necesito hacer consultas y separar ya sea la fecha o la hora, por ejemplo si quiere saber cuando entro y salio una persona por mis torniquetes no puedo, me trae todo! ¿Qué puedo hacer?
2

2 respuestas

Respuesta
1
Hola,
Lo puedes hacer con la instrucción convert, por ejemplo:
select getdate() as 'FECHA CON HORA'
select convert(varchar,getdate(),103) AS 'SOLO FECHA'
Te anexo la lista de listos de salida que tendrás que poner en el tercer parámetro de convert, espero te pueda servir, hasta luego.
Lista
-----
Style ID
Style Type
0 or 100 mon dd yyyy hh:miAM (or PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
9 or 109 mon dd yyyy hh:mi:ss:mmmAM (or PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
13 or 113 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
20 or 120 yyyy-mm-dd hh:mi:ss(24h)
21 or 121 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-dd Thh:mm:ss.mmm(no spaces)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
-----
Respuesta
1
aha24b,
Te cuento dos posibles soluciones a tu problema.
Supongamos que las fechas las tienes almacenadas en los campos entrada y salida.
Para obtener las horas de la entrada y la salida podrías hacer:
Select
Convert(Char(8), Entrada, 108) as HoraEntrada,
Convert(Char(8), Salida, 108) as HoraSalida
La otra posibilidad que tendrías para poder hacer es:
SELECT
Convert(varchar, Entrada, 8) as Hora entrada,
Convert(varchar, Salida, 8) AS Hora salida
Espero poder haberte ayudado y cualquier otra duda que tengas, no dudes en volverme a preguntar,
Leandro
Hola, mi problema es que mi campo es un DATATIME donde se almacenan fechas y horas, unicamente necesito extraer las horas, pero al hacer la consulta me regresa fecha también, he buscado en libros pero el resultado siempre es igual, ¿podrías ayudarme?!
aha24,
Te comento la forma de solucionar tu problema.
Supongamos que el campo que necesitas extraer la hura unicamenete se llame "Horario".
Entonces la consulta que tendrías que hacer es:
Select
Convert(Char(8), Horario, 108) as HoraUnicamente
Otra posibilidad que podrías usar es:
SELECT
Convert(varchar, Horario, 8) as HoraUnicamente
Lo que estas haciendo es extraer unicamente los caracteres que te interesan para el caso.
Espero te sirva y cualquier otra pregunta, no dudes en volverme a preguntar,
Leandro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas