Periodo de fechas

22/03/2005 - 20:49 por Jonás | Informe spam
Compañeros

Necesito buscar en una fecha o entre un periodo de fechas
en una base de datos en SQL Server 2000, el campo en
donde busco la fecha es de tipo datetime.

Busco de la siguiente manera
Por ejemplo:
Vfchainco = "01/03/2005"
Vfchafnal = "31/03/2005"
(Estas fechas se reciben de un formulario)


sSQL = "SELECT a.* FROM D_Visitas a, A_seccion b"
sSQL = sSQL & " WHERE a.tipo_seccion = b.seccion"
sSQL = sSQL & " AND a.tipo_seccion = 'Ficha'"
sSQL = sSQL & " AND a.fecha_hora >= #" & mid
(vfchainco,4,2) & "/" & mid(vfchainco,1,2) & "/" & mid
(vfchainco,7) & "# and a.fecha_hora <= #" & mid
(vfchafnal,4,2) & "/" & mid(vfchafnal,1,2) & "/" & mid
(vfchafnal,7) & "#""
sSQL = sSQL & " ORDER BY b.ordenamiento, a.seccion"

set rs = oConn.EXECUTE(sSQL)


Esta instrucción ya la habia utilizado antes hacienda una
conexión a Access y funcionaba sin ningún problema.

Pero, en SQL Sever no funciona

¿Me podrían decir que puedo hacer para buscar fechas?

Gracias FORO

Preguntas similare

Leer las respuestas

#1 Manuel Vera
22/03/2005 - 21:21 | Informe spam
Para fechas en SQL...

la forma basica sería
sql = " fecha_hora between '2005-03-01' and '2005-03-31'"

y la forma internacional sería
sql = " fecha_hora between {d '2005-03-01'} and {d '2005-03-31'}"

Salu2
MV


"Jonás" wrote in message
news:0eb101c52f18$42885a40$
Compañeros

Necesito buscar en una fecha o entre un periodo de fechas
en una base de datos en SQL Server 2000, el campo en
donde busco la fecha es de tipo datetime.

Busco de la siguiente manera
Por ejemplo:
Vfchainco = "01/03/2005"
Vfchafnal = "31/03/2005"
(Estas fechas se reciben de un formulario)


sSQL = "SELECT a.* FROM D_Visitas a, A_seccion b"
sSQL = sSQL & " WHERE a.tipo_seccion = b.seccion"
sSQL = sSQL & " AND a.tipo_seccion = 'Ficha'"
sSQL = sSQL & " AND a.fecha_hora >= #" & mid
(vfchainco,4,2) & "/" & mid(vfchainco,1,2) & "/" & mid
(vfchainco,7) & "# and a.fecha_hora <= #" & mid
(vfchafnal,4,2) & "/" & mid(vfchafnal,1,2) & "/" & mid
(vfchafnal,7) & "#""
sSQL = sSQL & " ORDER BY b.ordenamiento, a.seccion"

set rs = oConn.EXECUTE(sSQL)


Esta instrucción ya la habia utilizado antes hacienda una
conexión a Access y funcionaba sin ningún problema.

Pero, en SQL Sever no funciona

¿Me podrían decir que puedo hacer para buscar fechas?

Gracias FORO
Respuesta Responder a este mensaje
#2 Jonás
22/03/2005 - 22:20 | Informe spam
Selecione esta opción

la forma basica sería
sql = " fecha_hora between '2005-03-01' and '2005-
03-31'"

Y la escribí directamente

Y me marca el siguiente error

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]La
conversión del tipo de datos char a datetime produjo un
valor datetime fuera de intervalo.
/pruebasestandares/FichaEstandar.asp, línea 3169

(La fecha en SQL Server la veo en formato dd/mm/aaaa
¿Necesito cambiarla a aaaa/mm/dd?¿Como hago esto?)





Para fechas en SQL...

la forma basica sería
sql = " fecha_hora between '2005-03-01' and '2005-


03-31'"

y la forma internacional sería
sql = " fecha_hora between {d '2005-03-01'} and


{d '2005-03-31'}"

Salu2
MV


"Jonás" wrote in


message
news:0eb101c52f18$42885a40$
Compañeros

Necesito buscar en una fecha o entre un periodo de fechas
en una base de datos en SQL Server 2000, el campo en
donde busco la fecha es de tipo datetime.

Busco de la siguiente manera
Por ejemplo:
Vfchainco = "01/03/2005"
Vfchafnal = "31/03/2005"
(Estas fechas se reciben de un formulario)


sSQL = "SELECT a.* FROM D_Visitas a, A_seccion b"
sSQL = sSQL & " WHERE a.tipo_seccion = b.seccion"
sSQL = sSQL & " AND a.tipo_seccion = 'Ficha'"
sSQL = sSQL & " AND a.fecha_hora >= #" & mid
(vfchainco,4,2) & "/" & mid(vfchainco,1,2) & "/" & mid
(vfchainco,7) & "# and a.fecha_hora <= #" & mid
(vfchafnal,4,2) & "/" & mid(vfchafnal,1,2) & "/" & mid
(vfchafnal,7) & "#""
sSQL = sSQL & " ORDER BY b.ordenamiento, a.seccion"

set rs = oConn.EXECUTE(sSQL)


Esta instrucción ya la habia utilizado antes hacienda una
conexión a Access y funcionaba sin ningún problema.

Pero, en SQL Sever no funciona

¿Me podrían decir que puedo hacer para buscar fechas?

Gracias FORO


.

Respuesta Responder a este mensaje
#3 Manuel Vera
22/03/2005 - 22:43 | Informe spam
Has un
<%Response.write ( SQL )%>
para que puedas ver el codigo SQL que estas tratando de ejecutar.

Con la 2da forma (la internacional) te aseguro 99.99% que no fallará.

No hace falta que cambies el formato como se guarda el dato en la tabla.

Salu2
MV

"Jonás" wrote in message
news:085b01c52f25$01f1dad0$
Selecione esta opción

la forma basica sería
sql = " fecha_hora between '2005-03-01' and '2005-
03-31'"

Y la escribí directamente

Y me marca el siguiente error

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]La
conversión del tipo de datos char a datetime produjo un
valor datetime fuera de intervalo.
/pruebasestandares/FichaEstandar.asp, línea 3169

(La fecha en SQL Server la veo en formato dd/mm/aaaa
¿Necesito cambiarla a aaaa/mm/dd?¿Como hago esto?)





Para fechas en SQL...

la forma basica sería
sql = " fecha_hora between '2005-03-01' and '2005-


03-31'"

y la forma internacional sería
sql = " fecha_hora between {d '2005-03-01'} and


{d '2005-03-31'}"

Salu2
MV


"Jonás" wrote in


message
news:0eb101c52f18$42885a40$
Compañeros

Necesito buscar en una fecha o entre un periodo de fechas
en una base de datos en SQL Server 2000, el campo en
donde busco la fecha es de tipo datetime.

Busco de la siguiente manera
Por ejemplo:
Vfchainco = "01/03/2005"
Vfchafnal = "31/03/2005"
(Estas fechas se reciben de un formulario)


sSQL = "SELECT a.* FROM D_Visitas a, A_seccion b"
sSQL = sSQL & " WHERE a.tipo_seccion = b.seccion"
sSQL = sSQL & " AND a.tipo_seccion = 'Ficha'"
sSQL = sSQL & " AND a.fecha_hora >= #" & mid
(vfchainco,4,2) & "/" & mid(vfchainco,1,2) & "/" & mid
(vfchainco,7) & "# and a.fecha_hora <= #" & mid
(vfchafnal,4,2) & "/" & mid(vfchafnal,1,2) & "/" & mid
(vfchafnal,7) & "#""
sSQL = sSQL & " ORDER BY b.ordenamiento, a.seccion"

set rs = oConn.EXECUTE(sSQL)


Esta instrucción ya la habia utilizado antes hacienda una
conexión a Access y funcionaba sin ningún problema.

Pero, en SQL Sever no funciona

¿Me podrían decir que puedo hacer para buscar fechas?

Gracias FORO


.

Respuesta Responder a este mensaje
#4 Jonás
22/03/2005 - 22:58 | Informe spam
Gracias

Ya funciono



Para fechas en SQL...

la forma basica sería
sql = " fecha_hora between '2005-03-01' and '2005-


03-31'"

y la forma internacional sería
sql = " fecha_hora between {d '2005-03-01'} and


{d '2005-03-31'}"

Salu2
MV


"Jonás" wrote in


message
news:0eb101c52f18$42885a40$
Compañeros

Necesito buscar en una fecha o entre un periodo de fechas
en una base de datos en SQL Server 2000, el campo en
donde busco la fecha es de tipo datetime.

Busco de la siguiente manera
Por ejemplo:
Vfchainco = "01/03/2005"
Vfchafnal = "31/03/2005"
(Estas fechas se reciben de un formulario)


sSQL = "SELECT a.* FROM D_Visitas a, A_seccion b"
sSQL = sSQL & " WHERE a.tipo_seccion = b.seccion"
sSQL = sSQL & " AND a.tipo_seccion = 'Ficha'"
sSQL = sSQL & " AND a.fecha_hora >= #" & mid
(vfchainco,4,2) & "/" & mid(vfchainco,1,2) & "/" & mid
(vfchainco,7) & "# and a.fecha_hora <= #" & mid
(vfchafnal,4,2) & "/" & mid(vfchafnal,1,2) & "/" & mid
(vfchafnal,7) & "#""
sSQL = sSQL & " ORDER BY b.ordenamiento, a.seccion"

set rs = oConn.EXECUTE(sSQL)


Esta instrucción ya la habia utilizado antes hacienda una
conexión a Access y funcionaba sin ningún problema.

Pero, en SQL Sever no funciona

¿Me podrían decir que puedo hacer para buscar fechas?

Gracias FORO


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida