SELECT id,count,name from a_log_20230618 where id>123;
SELECT id,count,name from a_log_20230619 where id>123;
经常需要查分了日期存储的表,比如先查6.18的看下,然后再看下6.19的,日期多的话就比较麻烦。想实现匹配 (from.*?_2023)(\d)(\d)(\d)(\d) 把日期+1或者-1生成语句。
总体思路:正则提取2023后的 0618 数据,赋值到日期变量里再用日期+1处理,并用+1后的日期变量插值到原有语句中进行查询。
第一步尝试用正则提取出来后4位日期数字是没问题,但下一步往日期变量里面赋值就总是失败。
$=2023-{日期}{日期2}-{日期3}{日期4} 会报如下错误:
06赋值$=2023-{日期}{日期2}-{日期3}{日期4} => {日期变量} [in]失败后停止【值/表达式】True 使用Z.Expressions解析表达式出错,尝试使用DynamicExpresso. 异常:解析表达式出错。 内部错误:Oops! The current expression is null. The error occurred for expression "v_日期v_日期2" at position 5 near "v_日期v_日期2-v_日期3v_日期4". 原始表达式:2023-v_日期v_日期2-v_日期3v_日期4 开始位置:5
不知道是不是还需要指定下日期格式?或者说必须加上时分秒才行?
更新:用插值加上时间确实可以赋值成功了 $$2023-{日期}{日期2}-{日期3}{日期4} 00:00:00 我再进行下面的步骤试试~
再更新:解决了日期问题后面的就没什么障碍了,圆满完成~ quicker牛b!
大佬们如果看这个有哪些步骤可以简化的还请指点下~