使用SQLAlchemy取消字段

时间:2013-02-01 20:33:28

标签: sqlalchemy

我需要SQLAlchemy检查数据库表列是否出现python-pickled字符串(例如S'foo'\np0\n.),取消它们(在本例中会产生foo),并将它们写回。我怎么做(有效)? (我可以以某种方式滥用SQLAlchemy的PickleType?)

1 个答案:

答案 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()