0

为什么是当使用 SET 设置变量时,在某些情况下,一个语句可以设置多个变量,而在其他情况下需要发出两个单独的变量。

例如,这很好用:

SET
@uname := 'John',
@acct_trade := 218.01,
@acct_labor := 518.01,
@acct_cntgy := 818.01;

只使用一个分号。

但是,当它是这样的:

SET @datestart := '2012-01-01',
SET @dateend :=  '2012-02-29';

它不起作用。我必须让他们每个人都有自己的电话。

SET @datestart := '2012-01-01';
SET @dateend :=  '2012-02-29';

我假设这与它要求 2 个字符串的事实有关。我什至尝试将它投射到日期。

有任何想法吗?

4

1 回答 1

1

在失败的示例中,您有SET两次关键字。如果你从第二行删除它应该可以工作:

SET
@datestart := '2012-01-01',
@dateend :=  '2012-02-29';

这是因为SET关键字充当完整的语句直到结束分号。当它碰到另一个SET关键字时,它是无效的语法。

于 2012-09-27T20:06:07.463 回答