如何在 python 变量中添加第三个单引号?

How to add a third single quote in a python variable?

我正在使用 pyodbc 和 python。 我的目标是更新数据库中的一列以删除方括号和开头的单引号。我想直接用 python.

调用的 sql 命令来完成

我想在 sql 中做的是:

UPDATE [dbo].[Artist]
SET ARTIST = REPLACE(ARTIST, '[''', '')

由于引号,我无法在 python 变量中编写语句。我在写这样的东西:

sql_delete_square_brackets = '''
UPDATE [dbo].[Artist]
SET ARTIST = REPLACE(ARTIST, '['', '')
'''

显然行不通(缺少引号)

怎么写?

您总是可以尝试混合使用双引号和单引号: 像这样:

sql_delete_square_brackets = """
UPDATE [dbo].[Artist]
SET ARTIST = REPLACE(ARTIST, '['', '')
"""

如果您的数据库允许,就像这样:

sql_delete_square_brackets = """
UPDATE [dbo].[Artist]
SET ARTIST = REPLACE(ARTIST, "['", "")
"""

在 T-SQL for MS SQL Server(以及许多其他 SQL 方言)中,字符串文字中的单引号只是加倍,例如

INSERT INTO person (lastname) VALUES ('O''Rourke')

所以我怀疑在你的情况下你可以使用

sql_delete_square_brackets = """\
UPDATE [dbo].[Artist]
SET ARTIST = REPLACE(ARTIST, '[''', '')
"""

请注意 python 字符串使用 """ 而不是 '''。我们通常在 Python 代码中对 SQL 语句使用双引号正是因为我们可能希望在其中有一个单引号(SQL 字符串文字)。