On 11/24/2023 4:49 PM, Rimu Atkinson via Python-list wrote:
I really can't think of a case
where the missing comma would make any sense at all.
That is pretty tricky, yes.
The comma means it's a tuple. Without the comma, it's just a string with
parenthesis around it, which is a string.
PyDev console: starting.
Python 3.9.15 (main, Oct 28 2022, 17:28:38) [GCC] on linux
x = ('%' + "2023-11" + '%')
x
'%2023-11%'
x = ('%' + x + '%',)
x
('%%2023-11%%',)
x.__class__.__name__
'tuple'
To make it very clear in your code so that you are reminded next time
you want to re-use it, you could write
param = '%2023-11%'
cr.execute(sql, (param,))
Probably the param value will actually use a variable instead of the
hard-coded value in the example. So use an f-string, because it's more
readable and easier to get right:
date = ... # Where ever the actual date value comes from
param = f'%{date}%'
cr.execute(sql, (param,))
--
https://mail.python.org/mailman/listinfo/python-list