Pergunta

Eu estou estendendo a camada de dados de uma aplicação existente para trabalhar com o Firebird 2.5, além de MSSQL e SQLite, mas eu ter atingido um obstáculo.

Eu tenho um campo chamado TimeStamp que armazena os dados / hora como tipo timestamp. Isso funciona bem sob MSSQL e SQLite onde o tipo é datetime, mas cai sob Firebird. O seguinte SQL:

SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"

aparentemente funciona, mas o campo TimeStamp é o retorno como nome do campo "constante" e os conteúdos são o "timestamp" text

É possível fazer isso no Firebird, ou eu vou ter que mudar o nome do campo e alterar o código nas outras camadas de dados.

Foi útil?

Solução

O caractere de escape firebird é a dupla citação ". Note que no firebird se você tiver um campo que você tem que escapar com aspas duplas, também se torna sensível a maiúsculas. Então, se você já declarou seu campo como TimeStamp, então select "TIMESTAMP" ... falhará com um campo não encontrou o erro.

Outras dicas

Eu não tenho idéia se ele funciona, mas você já tentou aspas em torno de "TimeStamp", aspas simples geralmente indicam uma string constante.

Saudações
K

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top