我使用软件SQuirreL SQL Client Version 3.2.1,我想声明像
这样的变量define dateFrom = '13/04/2012';
define dateTo = '13/04/2012'
并在我的SQL查询中使用它
SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN to_date('&dateFrom','YYYY-MM-DD') AND to_date('&dateTo','YYYY-MM-DD');
但它不起作用。 如何在SQuirreL中定义和使用变量。
答案 0 :(得分:0)
也许不是你想要的,但你试过加载插件'sqlparam'吗?它提供可变的替代,例如
SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN :dateFrom and :dataTo
运行此查询时,Squirrel会询问值。
答案 1 :(得分:0)
我知道这个问题确实很老,但是它帮助我找到了解决方案,我想我会分享的。使用SquirrelSQL 3.8.1在针对oracle数据库运行时可以工作。
SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN to_date( :dateFrom ,'YYYY-MM-DD') AND to_date( :dateTo,'YYYY-MM-DD');
注意:函数调用和绑定变量冒号之间需要有空格-如果没有空格,则会出现错误。
答案 2 :(得分:-1)
" SQuirreL(就像Oracle的SQL-Plus一样)需要知道你什么时候完成 你的匿名程序。这通常是通过在末尾添加一行来完成的 你的程序与sinlge斜杠(/)字符。例如:"
DECLARE
v1 NUMBER(3);
BEGIN
v1 := 3;
select 1 from dual
END;
/
请看这里:http://sourceforge.net/p/squirrel-sql/mailman/message/28580491/
现在,当您选择包含斜杠的SQL时,您可以使用Ctrl + Enter运行它。