Skip to content

Commit f684659

Browse files
dauinsightmShan0
andauthored
Fix param format bug (#378)
* Fix param format bug * fix null case --------- Co-authored-by: mShan0 <96149598+mShan0@users.noreply.github.com>
1 parent c1f1dc7 commit f684659

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

mssql/base.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -618,11 +618,14 @@ def format_sql(self, sql, params):
618618
return sql
619619

620620
def format_group_by_params(self, query, params):
621+
# Prepare query for string formatting
622+
query = re.sub(r'%\w+', '{}', query)
623+
621624
if params:
622625
# Insert None params directly into the query
623626
if None in params:
624-
null_params = ['NULL' if param is None else '%s' for param in params]
625-
query = query % tuple(null_params)
627+
null_params = ['NULL' if param is None else '{}' for param in params]
628+
query = query.format(*null_params)
626629
params = tuple(p for p in params if p is not None)
627630
params = [(param, type(param)) for param in params]
628631
params_dict = {param: '@var%d' % i for i, param in enumerate(set(params))}
@@ -634,8 +637,7 @@ def format_group_by_params(self, query, params):
634637
datatype = self._as_sql_type(key[1], key[0])
635638
variables.append("%s %s = %%s " % (value, datatype))
636639
params.append(key[0])
637-
query = ('DECLARE %s \n' % ','.join(variables)) + (query % tuple(args))
638-
640+
query = ('DECLARE %s \n' % ','.join(variables)) + (query.format(*args))
639641
return query, params
640642

641643
def format_params(self, params):

0 commit comments

Comments
 (0)