如何在Firebird中连接where
子句的变量字符串?连接WHERE子句的变量字符串
我有两个变量类型SMALLINT
。这些变量在while循环中迭代一次后递增。
从这些变量创建DATE
为where
- >在SQL中,像这样的选择之间(这是我的无效尝试):
yearmin=extract (year from DATAMIN);
yearmax=extract (year from DATAMAX);
monthmin=extract (month from DATAMIN);
monthmax=extract (month from DATAMAX);
aktyear=rokmin;
actmonth=monthmin;
while (actyear<=yearmax and actmonth<=monthmax) DO
BEGIN
SELECT
[...]
WHERE (g.GDATAP BETWEEN (:actyear || :actmonth || 01) AND (:actyear || :actmonth || 30))
[...]
INTO :Zaw,:Sum;
actyear=actyear+1;
actmonth=actmonth+1;
SUSPEND;
end
这是什么':actyear'语法?我一直在使用SQL Server一段时间,我从来没有遇到过它......另外,SUSPEND似乎不是SQL Server关键字。你确定你正在为你的DMBS使用正确的SQL语法(或者你的问题被正确标记)? – Heinzi
您必须构建一个可以转换为日期的字符串文字。 – jarlh
actyear是临时变量,更改每一个迭代,用于创建sql where子句。 – Toster