ASP - Fechas ASP-SQL

 
Vista:

Fechas ASP-SQL

Publicado por dam (1 intervención) el 20/02/2004 12:45:42
Hola, tengo un problema con fechas y consultas SQL. En un formulario HTML meto fechas. Después, con ASP, y Cdate(request.form("xxx")), llevo esos campos a una: SQL = "SELECT * FROM calendario WHERE fecha >="&fechadesde&" y fecha <= "&fechahasta&"". Funciona porque sí que lee de la BD, pero no siempre en formato dd/mm/aaaa. Según las fechas que pongas, a veces lee como mm/dd/aaaa. Por ejemplo, 06/01/2004 lo lee como 1 de junio de 2004, otras veces no... ¿Cómo le digo que las fechas siempre son de formato dd/mm/aaaa? gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Fechas ASP-SQL

Publicado por caro (18 intervenciones) el 20/02/2004 17:08:35
Hi...

Buscate la función FormatDateTime(), de VBScript y le podras establecer un formato antes de enviar la consulta; pero tambien puedes aplicarle un convert al campo de la consulta para que tambien le determines un format a la hora de ejecutar la consulta.

Si necesitas algo más escribeme a mi correo.

Salud2

Kro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fechas ASP-SQL

Publicado por FISICO (4 intervenciones) el 25/02/2004 00:36:17
tambien puedes
<%
variable= day(date)/month(date)/year(date)
%>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fechas ASP-SQL

Publicado por Alejandro Visillac (113 intervenciones) el 27/02/2004 13:32:35
Cuando se buscan fechas en una base de datos hay que tener mucho cuidado y mas aun cuando se busca un rango de fechas, ya que como resultado podemos obtener registros no deseados y no obtener todos los registros que deseamos obtener.
Para esto siempre que busquemos entre dos fechas, lo mas sano es buscarlas en formato aaaa-mm-dd, ya que si la buscamos en otra forma esto nos puede provocar grandes dolores de cabeza ya que la mayoria de las BD buscan por un numero.
Ej:

Entre las fechas 15/06/2003 y 17/08/2003

si las representamos como ddmmaaaa tenemos
15062003 y 17082003.
Esto quiere decir que el 14072003 es menor numero por lo cual no sera considerado en la consulta, mientras que el 16052003 se encuentra dentro del rango y sera considerado dentro de nuestra consulta.
ESTO ES UN GRAVE ERROR.

por eso las fechas deben expresarse como aaaammdd
20030615 y 20030817.
Ahora si el nuestra fechas 20030714 estara incluida en nuestra consulta y 20030516 no sera considerada en nustra consulta.

Una ultima cosa, cuando hagan select y en el where vayan a poner entre dos fechas, en lo posible usen el BETWEEN, esto optimizara un poco mas los resultados.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar