在文本中查找数字,并为找到的每个数字添加特定数字

问题描述 投票:0回答:1

我必须创建一个长 SQL 表达式,在其中使用双精度格式的日期。

例如

从 IssuedInvoices II 中选择 II.Amount,其中 II.DocDate>=44000 且 II.DocDate<=44030

对于我正在创建的项目,使用任何编程语言获取脚本比查找数字 44000 并向其添加 365,然后找到 44030 并向其添加 365 会节省我几个小时。

我为脚本提供 SQL 表达式,脚本将查找 SQL 表达式中的所有数字,并将特定数字添加到找到的每个数字,然后返回值将是更新后的 SQL 表达式。 非常感谢。

sql language-agnostic
1个回答
0
投票

您可以使用映射的正则表达式。 Python 中的示例:

import re

old_query = "SELECT II.Amount from IssuedInvoices II where II.DocDate>=44000 and II.DocDate<=44030"
new_query = re.sub('[0-9]+', lambda x: str(int(x.group()) + 365), old_query)
print(new_query)

输出

SELECT II.Amount from IssuedInvoices II where II.DocDate>=44365 and II.DocDate<=44395
© www.soinside.com 2019 - 2024. All rights reserved.