4

为什么这不起作用(当参数设置为 1 时):

SELECT * FROM TABLE WHERE TIMESTAMPFIELD > (CURRENT_TIMESTAMP - ?)

但这有效:

SELECT * FROM TABLE WHERE TIMESTAMPFIELD > (CURRENT_TIMESTAMP - 1)

我收到错误消息:"conversion error from string "39723.991882951" "

我正在使用火鸟 2.1

编辑:

在一些帮助下,我自己找到了答案:

SELECT * FROM TABLE WHERE TIMESTAMPFIELD > (CURRENT_TIMESTAMP - CAST(? as DECIMAL(18,9))

如果参数以浮点值形式给出,则有效。

4

1 回答 1

2

你到底想做什么?也许我可以对更多细节更有帮助。

SELECT * FROM TABLE WHERE TIMESTAMPFIELD > (CURRENT_TIMESTAMP - ?)

您如何在代码中设置参数?您使用哪种语言?

如果你使用 Delphi,那么你的参数应该作为 Float 传递。IE:

MyQuery.ParamByName('delta').asFloat := 0.1;

试试这个并告诉我们它是否有效

高温高压

于 2008-10-02T20:56:05.730 回答