我需要SQLAlchemy检查数据库表列是否出现python-pickled字符串(例如S'foo'\np0\n.
),取消它们(在本例中会产生foo
),并将它们写回。我怎么做(有效)? (我可以以某种方式滥用SQLAlchemy的PickleType
?)
答案 0 :(得分:0)
好的,找到了使用sqlalchemy.sql.expression.func.substr
的方法:
from sqlalchemy.sql.expression import func
table.update().where(
and_(table.c.column.startswith("S'"),
table.c.column.endswith("'\np0\n."))
).values({table.c.column:
func.substr(table.c.column,
3,
func.char_length(table.c.column)-8)
}).execute()