Pregunta

Estoy ampliando la capa de datos de una aplicación existente para trabajar con Firebird 2.5, además de MSSQL y SQLite, pero he topado con un obstáculo.

Tengo un campo llamado TimeStamp que almacena los datos / hora como tipo TimeStamp. Esto funciona bien en MSSQL y SQLite, donde el tipo es datetime, pero cae en Firebird. El siguiente SQL:

SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"

aparentemente funciona, pero el campo TimeStamp se devuelve como fieldname " CONSTANT " y el contenido es el texto " marca de tiempo "

¿Es posible hacer esto bajo Firebird, o tendré que cambiar el nombre del campo y cambiar el código en las otras capas de datos?

¿Fue útil?

Solución

El carácter de escape de Firebird es la comilla doble " . Tenga en cuenta que en firebird si tiene un campo que debe escapar con comillas dobles, también se vuelve sensible a mayúsculas y minúsculas. Entonces, si ha declarado su campo como TimeStamp , entonces seleccione " TIMESTAMP " ... fallará con un error de campo no encontrado.

Otros consejos

No tengo idea de si funciona, pero ¿has probado las comillas dobles alrededor de "TimeStamp", las comillas simples generalmente indican una cadena constante.

Saludos
K

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top