Filtrar fechas en SyBase

Estimado aldob:
Desde Visual Basic, accedo a una base de datos SyBase vía ODBC. Necesitaría saber en qué formato tengo que pasarle una fecha en una cláusula WHERE de una instrucción SELECT.
Es decir, si para Access, el formato sería: WHERE FECHA = #06/01/2003# para filtrar el 1 de junio de 2003, ¿cuál sería la sentencia para SyBase?.
Gracias de antemano,
Alex.

1 respuesta

Respuesta
1
Primero tenés que considerar como está seteado el formato de la fecha para el dbms con el que estas trabajando (esto generalmente está en el OBDC)
Los dbms por defecto traen yyyy-mm-dd pero suelen tomar el de la PC.
El formato para pasar una fecha es con '.
Ej: WHERE FECHA = '06/01/2003'
Esto es cierto para todos los DBMS excepto Access.
Si estuvieras en PB y estás haciendo un select embebido o una dw te diría que uses una variable y que PB te resuelva el tema.
Ej extendido para VB.
Supongamos que tenés una variable fechaIngreso, y querés recuperar a todos los empleados que ingresaron desde esa fecha
Te conviene generar el string que le vas a pasar a la conexión así:
strSQL = "select * from empleados where fecha_ingreso > '" & format(fechaIngreso, "yyyy-mm-dd") & "'"
Ahí es visual el que te forma un string que sysBase te puede reconocer, ya que el string final te queda
"select * from empleados where fecha_ingreso > '2003-01-01'"
Acá estamos suponiendo que el formato por defecto en syBase es 'yyyy-mm-dd', si no, dale el formato que corresponda.
Estimado AldoB:
Antes que nada, gracias por tu respuesta. Aun no he podido probarlo, puesto que mi cliente está de vacaciones, y es él quien tiene que probarlo, ya que tiene la base de datos de SyBase. Aun así, estoy seguro que esa debe ser la solución. Te sigo contando...
Saludos,
Alex.
Suerte y cualquier cosa escribí.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas