Page 1 of 1

Uso de fechas en consulta SQL / MS-SQL

Posted: Wed May 30, 2018 3:15 am
by jparada
Hola,

Para filtrar por rango de fecha en una consulta estoy haciendo algo como:

oQry += "WHERE cIdDocumentoDe IN (4,5) "
oQry += 'AND cFecha BETWEEN "20180405" AND "20180405" '
oQry += "ORDER BY Factura"

Obtengo error en la consulta, pero es por el tema de la fecha, si omito esa línea funciona bien la consulta.

Alguna ayuda acerca de cómo puedo indicar la fecha correctamente?, como comentario tal cual está la consulta funciona en el SQL Management Studio.

Gracias.

Saludos,
Javier

Re: Uso de fechas en consulta SQL / MS-SQL

Posted: Wed May 30, 2018 12:23 pm
by dragancesu

Re: Uso de fechas en consulta SQL / MS-SQL

Posted: Wed May 30, 2018 4:49 pm
by martingz
Jparada uso esta funcion que me regresa un string con la fecha lista para usar en los querys de mysql

function cdate2mysqldate
parameters mfdate
local mfecreturn:=" - - "
if valtype(mfdate) = 'D'
mfecreturn:=str(year(mfdate),4,0) + '-' + strzero(month(mfdate),2) + '-' + strzero(day(mfdate),2)
else
if valtype(mfdate) = 'C'
mfdate:=ctod(mfdate)
mfecreturn:=str(year(mfdate),4,0) + '-' + strzero(month(mfdate),2) + '-' + strzero(day(mfdate),2)
endif
endif
return(mfecreturn)

espero que sea lo que necesitas

saludos

Re: Uso de fechas en consulta SQL / MS-SQL

Posted: Thu May 31, 2018 1:20 am
by jparada
Hola,

Gracias por contestar, como comenta martín con una función parecida funcionó:

Code: Select all

function DateToSQL( dFecha )
  result := "'" + StrZero( month(dFecha),2) + '/'
  result +=       StrZero( day(dFecha),2) + '/'
  result +=       StrZero( Year(dFecha),4) + "'"
return result
Pero también quería hacer pruebas con el string y basándome en esa función; funcionó como yo necesitaba:

Code: Select all

oQry += "WHERE cIdDocumentoDe IN (4,5) "
oQry += "AND cFecha BETWEEN " + "'" + "20180405" + "'" + " "
oQry += "AND " + "'" + "20180405" + "'" + " "
Saludos,
Javier