在“只读”中声明变量' MySQL数据库

时间:2017-12-14 18:45:12

标签: mysql

我想声明一个变量来消除双重输入,将日期信息输入到' WHERE'条款。但是,数据库是只读的,不允许我声明任何内容。这就是我的尝试:

SET @begin_date = '2017-12-01'
SET @end_date = '2017-12-30'
WHERE (ship.dateShipped BETWEEN @begin_date AND @end_date) 
OR (fulfill.datefulfilled BETWEEN @begin_date AND @end_date)

为了这篇文章简化了查询,但基本上是我想要做的。我必须将其交给销售人员按需运行,并希望尽可能简单地更改日期参数。

有没有办法在这种情况下声明变量?或者也许是另一种写“' WHERE'条款所以日期只需输入一次?

我也尝试过:

SELECT @begin_date := '2017-12-01', @end_date := '2017-12-30'......

以及

DECLARE begin_date  INT unsigned DEFAULT '2017-12-01'
DECLARE end_date  INT unsigned DEFAULT '2017-12-30'

无济于事。

1 个答案:

答案 0 :(得分:0)

您的查询几乎简化为乱码,但这样的事情应该有效。

module.exports = {
    name: 'customrule',
    nodeTypes: ['decl'],

    lint: function(config, node) {        
        console.log(node.source.input.file)     
    }
};

它真的不允许你使用@ variables?