Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Convertir fecha de datetime a char

Estas en el tema de Convertir fecha de datetime a char en el foro de SQL Server en Foros del Web. hola a todos, tengo una base de datos con un campo tipo datetime, donde las fechas las guarda en el formato: 2007-11-14 2:44:36.437, y necesito ...
  #1 (permalink)  
Antiguo 28/11/2007, 12:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 139
Antigüedad: 17 años, 3 meses
Puntos: 0
Convertir fecha de datetime a char

hola a todos,

tengo una base de datos con un campo tipo datetime, donde las fechas las guarda en el formato: 2007-11-14 2:44:36.437, y necesito comparar si la diferencia entre esta fecha y una que traigo de otra consulta es mayor o menor a un numero(20).

La consulta de ejm que yo ejecuto en el analizador de consultas es la siguiente:

SELECT * FROM dbo.History WHERE TagName = 'T101_BAJAR'
AND datetime > '11/8/2007 2:44 AM' AND
convert(varchar, datetime, 120)- '11/8/2007 2:44:00 AM' < '20'
ORDER BY datetime

El error que me saca esta consulta es el siguiente:
Invalid operator for data type. operator equal substract, type equal varchar.


Que puedo hacer, como hago para hacer esto??
Gracias al que me pueda ayudar
  #2 (permalink)  
Antiguo 28/11/2007, 12:12
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: Convertir fecha de datetime a char

¿Que es lo que deseas hacer on esta instruccion?

convert(varchar, datetime, 120)- '11/8/2007 2:44:00 AM'

Ademas, cambia el formato de tu fecha por un ISO (yyyymmdd hh:mm:ss,nnn)
  #3 (permalink)  
Antiguo 28/11/2007, 12:33
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Convertir fecha de datetime a char

De acuerdo con iislas... adicionalmente, para obtener la diferencia de dos valores tipo fecha existe la funcion datediff...

Para mayor referencia puedes consultar la ayuda de SQL...

Este es un ejemplo tomado de la misma...

Código:
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

Saludos...
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #4 (permalink)  
Antiguo 28/11/2007, 13:15
 
Fecha de Ingreso: febrero-2007
Mensajes: 139
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Convertir fecha de datetime a char

De antemano muchas gracias por sus respuestas.

Lo que yo deseo hacer en esta consulta es que muestre los datos en los cuales la diferencia entre las fechas de la tabla y una fecha que yo traigo de otra consulta, sea menor a 20 dias, no necesito la diferencia para mostrarla sino los datos que esten dentro de ese rango.

Pero tengo mas dudas, que significa el error?
Si yo pongo los datos en comillas son char o varchar o que tipo de dato es?
como es el formato ISO (yyyymmdd hh:mm:ss,nnn), el codigo es 9?


ay disculpas la ignorancia, de todas formas muchas Gracias en lo que me puedan colaborar!!!
  #5 (permalink)  
Antiguo 28/11/2007, 18:49
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: Convertir fecha de datetime a char

Para comparar las diferencias entre fechas, como ya bien lo menciono Andres, debes ocupar la funcion DATEDIFF

WHERE DATEDIFF(DD, FECHA1, FECHA2) < 20

Esto te compara la diferencia en DIAS (DD), entre FECHA1 y FECHA2, sea menor a 20
  #6 (permalink)  
Antiguo 03/12/2007, 14:02
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 7 meses
Puntos: 3
Re: Convertir fecha de datetime a char

otra forma, aunque ya a nadie le sirva :P:

where
abs(cast(cast(fecha1 as datetime) - cast(fecha2 as datetime) as numeric)) < 20

por defecto el sql suma y resta en días las fechas.

Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #7 (permalink)  
Antiguo 10/12/2007, 10:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 139
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Convertir fecha de datetime a char

Gracias por sus ayudas, probé la del datediff y me funciono perfectamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:13.