我有一些变量 bash
就像下面一样。
min_date='2020-06-06'
max_date='2020-06-08'
max_seq_min_date=1 --This is till where data is processed
max_seq_max_date=3 --This is till where data has to be processed
batch_date is the column where I will use the min and max_date values
每一天都会有 4
序列
我想生成一个可以在sql查询中使用的where子句
现在我想生成一个where子句,如下所示
WHERE 1=1 or (batch_date = '2020-06-06' and seq_num in ('2','3', '4'))
or (batch_date = '2020-06-07' and seq_num in ('1','2','3','4'))
or (batch_date = '2020-06-08' and seq_num in ('1','2','3'))
我怎样才能达到我想要的?
2条答案
按热度按时间h5qlskok1#
对查询做一些小的更改会更有效—使动态生成(等价的)sql更容易。
它使用“between”运算符来避免“in(…)”条件的可变长度列表。
注意关于1=1的注解,它是根据问题保留的,但需要复查,因为它将始终使条件通过。
我没有mysql,但是上面的内容适用于postgresql。
pnwntuvh2#
只需使用插值,即。