我们可以在mysql查询中添加变量名吗?

时间:2016-12-13 12:52:04

标签: mysql

考虑一张桌子。

id    count       dates
1      10       2016-11-12
2      20       2016-11-12
3      20       2016-11-12
4      20       2016-11-13
5      20       2016-11-13
6      20       2016-11-14

我正在创建一个test.sql文件 其中包含

select * from table_name where dates = 2016-11-12;

如果我必须找到2016-11-13日期的行,我必须更改我的.sql文件中的条件。

我想要的是我可以在我的.sql顶部或我的文件外面声明变量名称

其中包含变量DateSelect,我只更改了.sql中的日期和日期会自动更改。

例如。

在test.sql里面

declare DateSelect = 2016-11-12

select * from table_name where dates = DateSelect;

然后我可以将DateSelect更改为我想要的任何内容。

我遇到了这个文档,但我无法理解它,因为我是mysql的新手。Variable substitution in SQL statements 任何想法我如何实现这一点,提前谢谢

2 个答案:

答案 0 :(得分:1)

是的,您可以将查询包装在

等存储过程中
create procedure usp_sql(@datevar datetime)
as
begin
select * from table_name where dates = @datevar;
end

然后您可以将其称为

call usp_sql('2016-11-12');

根据您的最新评论,请参阅此现有帖子Pass parameter to MySQL script command line

答案 1 :(得分:0)

您可以使用 WbVar 分配来使用内部变量。您只需将值分配给所需的变量,并将该变量放入查询中。它将采用您指定的值。我希望它有所帮助。