5

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

4

3 回答 3

1

也许不是你想要的,但你试过加载插件'sqlparam'吗?它提供变量替换,例如

SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN :dateFrom and :dataTo

运行此查询时,Squirrel 将询问值。

于 2014-10-10T09:54:24.380 回答
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');

注意:函数调用和绑定变量冒号之间的空格是必需的——没有它你会得到一个错误。

于 2019-09-26T07:20:58.333 回答
-1

“SQuirreL(就像 Oracle 的 SQL-Plus)需要知道你什么时候完成了你的匿名过程。这通常是通过在你的过程末尾添加一个带有单斜杠 (/) 字符的行来完成的。例如:”

DECLARE
v1  NUMBER(3);

BEGIN
  v1 := 3;
  select 1 from dual
END;
/

请看这里:http: //sourceforge.net/p/squirrel-sql/mailman/message/28580491/

现在,当您选择包含斜杠的 SQL 时,您将能够使用 Ctrl+Enter 运行它。

于 2015-06-16T21:40:54.893 回答