如何在mysql中设置变量变量

时间:2014-10-13 20:56:12

标签: mysql

我尝试在sql中设置一个变量,如下所示:

DECLARE @fromDate VARCHAR(60);
SET @fromDate = '2013-01-01 00:00:00';
SET @toDate = '2013-02-01 00:00:00';

SELECT @fromDate;

但这不起作用。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

您不必DECLARE@开头的变量。

MySQL有两种不同类型的变量。一个是会话变量,带有@前缀。另一种类型是触发器或存储过程中的局部变量。

答案 1 :(得分:1)

DECLARE语句仅在存储过程或函数体内有效,并且此变量不以@开头。

@开头的变量不需要DECLARE,只需在存储过程之外使用。

答案 2 :(得分:0)

首先让我们看一下如何在mysql中定义一个变量

要在mysql中定义变量,它应该以' @'开头。比如@ {variable_name}和这个' {variable_name}',我们可以用变量名替换它。

现在,如何在mysql中为变量赋值。为此我们有很多方法可以做到这一点

使用关键字' SET'。 示例: - mysql> SET @a = 1;

不使用关键字' SET'并使用':='。 示例: - mysql> @a:= 1;

使用' SELECT'声明。 示例: - mysql>选择1进入@a;

这里@a是用户定义的变量,1将在@a中分配。

现在如何获取或选择@ {variable_name}的值。

我们可以使用像

这样的select语句

示例: -

mysql>选择@a;

它将显示输出并显示@a的值。

现在如何从变量中的表中分配值。

为此,我们可以使用两个语句: -

@a:=(从员工中选择emp_name,其中emp_id = 1); 从员工中选择emp_name到@a,其中emp_id = 1; 一定要小心,emp_name必须返回单个值,否则会在这种类型的语句中引发错误。

请参阅: - http://www.easysolutionweb.com/sql-pl-sql/how-to-assign-a-value-in-a-variable-in-mysql