No se como se dibuja una boca abierta en texto plano pero creo que sería algo así .
O __O
/   _   \
\  __  /

Guau.
Realmente encontré mas respuestas de las que buscaba con los muy buenos los ejemplos de MANIPULAR_BASE.odb con DATEDIFF y WHENCASE. Responden a muchas de las preguntas sin respuesta que tenía en los años que uso Openoffice.
y agrego otra (ya que estamos) funciona DATEADD?

Marcelo



Ariel escribió:
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]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a