如何在元数据库的LIKE查询中使用变量?

时间:2019-12-13 12:37:40

标签: sql metabase

我有一列字符串kpi_date,其格式为dd-mm-yyyy。我需要将该表分组到一个月内的每个kpi_date上。我尝试通过以下方式使用LIKE查询:

SELECT  
        kpi_date, sum(tickets)
FROM    
        database
    WHERE 
        client_id = {{client_id}} AND kpi_date LIKE "%"||{{month}}||"%"
GROUP BY   
        kpi_date

输入变量为month(例如:“ 11-2019”,“ 12-2019”等)

结果是,无论我输入哪个月,Metabase都会在每个月内打印出每个kpi_date。但是,当我尝试将相关查询更改为:

... AND kpi_date LIKE "%12-2019%"

它成功打印出了特定 月内的每个kpi_date。

变量用法有什么问题?

1 个答案:

答案 0 :(得分:0)

使用哪个数据库,如果使用SQL Server,则查询如下:

SELECT kpi_date, sum(tickets)
FROM database
WHERE client_id = @client_id AND kpi_date LIKE '%'+@month+'%'
GROUP BY kpi_date