Aestate
aestate
util
sqlOpera.py
Go to the documentation of this file.
1
# -*- utf-8 -*-
2
import
re
3
4
5
class
TextUtil
(object):
6
"""
7
sql操作工具
8
"""
9
10
@staticmethod
11
def
replace_antlr
(sql, **kwargs):
12
"""
13
:param sql:具有特殊含义的sql语句
14
"""
15
# #{}使用%s隔离
16
sub_sql = re.sub(
r'#{(.*?)}'
,
'%s'
, sql)
17
context_hashtag = re.findall(
r'#{(.*?)}'
, sql)
18
new_args = [kwargs[i]
for
i
in
context_hashtag]
19
20
# ${}直接替换
21
context_dollar = re.findall(
r'\${(.*?)}'
, sub_sql)
22
for
cd
in
context_dollar:
23
# 只有int需要转换
24
if
isinstance(kwargs[cd], int):
25
kwargs[cd] = str(kwargs[cd])
26
sub_sql = sub_sql.replace(
'${'
+ cd +
'}'
, kwargs[cd])
27
return
sub_sql, new_args
aestate.util.sqlOpera.TextUtil.replace_antlr
def replace_antlr(sql, **kwargs)
Definition:
sqlOpera.py:11
aestate.util.sqlOpera.TextUtil
Definition:
sqlOpera.py:5
Generated by
1.8.17