除了MSSQL和SQLite之外,我正在扩展现有应用程序的数据层以使用Firebird 2.5,但我遇到了绊脚石。
我有一个名为TimeStamp的字段,它将数据/时间存储为TimeStamp类型。这在MSSQL和SQLite下工作正常,其类型是datetime,但在Firebird下可以使用。以下SQL:
SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"
看似有效,但TimeStamp字段返回为fieldname“CONSTANT”,内容为文本“timestamp”
是否可以在Firebird下执行此操作,或者我将不得不重命名该字段并更改其他数据层中的代码。
答案 0 :(得分:9)
firebird转义字符是双引号"
。请注意,在firebird中,如果您有一个必须使用双引号转义的字段,它也会区分大小写。因此,如果您已将字段声明为TimeStamp
,则select "TIMESTAMP" ...
将失败并显示字段未找到错误。
答案 1 :(得分:1)
我不知道它是否有效,但您是否尝试过“TimeStamp”的双引号, 单引号通常表示一个常量字符串。
问候
ķ