[已解决]想实现 sql查询语句自动日期+1天改写语句/生成新语句,日期处理卡住了

动作需求 · 838 次浏览
斗呀么斗地主 创建于 2023-06-21 13:54

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!

 

大佬们如果看这个有哪些步骤可以简化的还请指点下~

斗呀么斗地主 最后更新于 2023/6/21

回复内容
CL 2023-06-21 17:57
#1

这个看起来就是比较合适的步骤了。

斗呀么斗地主 回复 CL 2023-06-21 18:16 :

感谢答复~

CL 回复 斗呀么斗地主 2023-06-21 19:27 :

也可以用表单或用户输入在动作开始的时候选择一下日期,然后插入到sql里。

回复主贴