是否可以在SQLAlchemy中使用列值作为REGEXP
模式?
我有一张桌子:
CREATE TABLE my_table (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
column int(200) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
有两个样本行:
INSERT INTO my_table (id, column)
VALUES
(1, '^S[[:digit:]]{10}$'),
(2, '^M[[:digit:]]{8}$');
在mysql中可以做到:
SELECT id FROM my_table WHERE 'S1803020001' REGEXP my_table.column;
+----+
| id |
+----+
| 1 |
+----+
我正在寻找一种在SQLAlchemy中实现它的方法。
这就是我如何在我的模型中使用文字regexp
:
MyTable.query.filter(MyTable.column.op('regexp')(r'pattern'))
但是这一次我正在寻找一种方式来交换模式'和' MyTable.column'。
我知道由于各种底层数据库后端可能不支持它,因为并非所有后端都支持非文字regexp
模式。尽管如此,我很好奇是否以及如何实现。