如何在Squirrel SQL客户端3中定义/声明和使用变量

时间:2012-05-09 08:36:24

标签: sql oracle squirrel-sql

我使用软件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中定义和使用变量。

3 个答案:

答案 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运行它。