Hola Marcelo,
Computos Villa Elisa escribió:
Alguien me ayuda con este error.
¿Que significa?
Estado SQL: S1000
Código de error: -198
Ahora no puedo investigar con detalle los códigos de los errores
así que la respuesta puede no ser del todo completa ni exacta ...
Error calling function: org.hsqldb.HsqlException: Type Conversion not
supported in statement [SELECT "Entrada", "Entrada", datediff( 'h',
"hora", "Entrada" ) FROM "entradasfil" AS "entradasfil"]
Marcelo
EL error indica que no es posible convertir entre los tipos de datos en
la función DATEDIFF, y - si no te has equivocado al transcribir el error
- se debe a que estás pasando mal la *cadena* que indica la *UNIDAD DE
TIEMPO* : en el ejemplo quieres averiguar la
diferencia de HORAS entre dos fechas, entonces la cadena que indica la
unidad de
tiempo debe ser 'hour' o 'hh' *PERO NO* 'h'
Ejemplo:
SELECT
"fecha_compra",
NOW(),
DATEDIFF('hh',"fecha_compra",NOW()) AS HORAS,
DATEDIFF('hh',"fecha_compra",NOW()) / 24 AS DIAS
FROM
"VENTAS"
La sintaxis *HSQLDB* (bases embebidas de OOoBase) es
DATEDIFF(string, datetime1, datetime2)
La función devuelve la cantidad de unidades transcurridas entre
*datetime1* y *datetime2*.
La cadena *string* indica la UNIDAD de TIEMPO y puede tener los
siguientes valores (abreviados o no, PERO siempre en inglés)
* 'ms'o'millisecond' == milisegundos
* 'ss'o'second' == segundos
* 'mi'o'minute' == minutos
* 'hh'o'hour' == horas
* 'dd'o'day' == días
* 'mm'o'month' == meses
* 'yy' o 'year' == años
Además, si tu instrucción SQL es sólo:
[SELECT "Entrada", "Entrada", datediff( 'h',
"hora", "Entrada" ) FROM "entradasfil" AS "entradasfil"]
el último ALIAS (AS "entradasfil") está de más y puede llegar a generar
un error (pero NO del tipo Type-Convertion) sobre todo en modo diseño.
Tal vez el alias lo quieras asignar al resultado de DATEDIFF, o se
trate de una subconsulta (?)...
Otro posible error es que los campos a los cuales aplicas la función
DATEDIFF no sean del tipo fecha-hora (en HSQLDB: DATE - java.sql.Date,
TIME - java.sql.Time, TIMESTAMP / DATETIME - java.sql.Timestamp) , pero
esto TAMPOCO genera un error Type-Conversion, sino "Wrong data type"=
tipo de datos incorrecto.
Espero que te sirva la explicación. Para más detalles descarga la base
MANIPULAR_BASE.odb de mi sitio, he agregado consultas
(NO en modo diseño, lamentablemente) sobre fechas, edad, CASE WHEN,
DATEDIFF, etc.
Saludos,
Ariel.
-------------------------------------
Ariel Constenla-Haile
La Plata, Argentina
www.arielconstenlahaile.com.ar/ooo/
[EMAIL PROTECTED]
¡_Este_ mail es *texto plano*! :)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]