Sqlalchemy:当字符串位于左侧且列位于右侧时,使用 PSQL 的“~”运算符

2024-04-01

我知道

WHERE column ~ 'regexp'

这是 sqlalchemy 吗:

where(column.op('~')('regexp'))

但我怎样才能创造这个呢?

WHERE 'string' ~ column

(正则表达式存储在数据库中)


您需要创建一个literal() https://docs.sqlalchemy.org/core/sqlelement.html#sqlalchemy.sql.expression.literal or a bindparam() https://docs.sqlalchemy.org/core/sqlelement.html#sqlalchemy.sql.expression.bindparam:

from sqlalchemy.sql import expression

expression.literal('string').op('~')(column)
# or
expression.bindparam('text', 'string').op('~')(column)

A literal()基本上是一个bindparam()有一个隐含的名字;在上面的例子中'text'是 SQL 语句中使用的参数的名称(键),并且'string'您希望显示在运算符左侧的文本。

A bindparam()给你更多的控制权,包括传递一个calleble而不是具体的值:

def value_function():
    return some_calculation_result()

expression.bindparam('calculated_value', callable_=value_function).op('~')(column)

SQLAlchemy 会调用value_function()将语句发送到数据库服务器时。你也可以使用bindparam()如果你有一个sequence值,SQLAlchemy 将负责调整表达式以应用于序列中的每个值:

strings = ['string1', 'string2', ...]
expression.bindparam('one_or_more', strings).op('~')(column)
# executes `('string1' ~ column OR 'string2' ~ column OR ...)`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sqlalchemy:当字符串位于左侧且列位于右侧时,使用 PSQL 的“~”运算符 的相关文章

随机推荐

  • python:运行一个超时进程并捕获stdout、stderr和退出状态[重复]

    这个问题在这里已经有答案了 可能的重复 带有超时的子进程 https stackoverflow com questions 1191374 subprocess with timeout 在 Python 中执行以下操作的最简单方法是什么
  • 保持复选框处于选中状态

    使用 Angular 9 和一些自定义输入 我做了以下 gt https stackblitz com edit angular ivy rgsatp https stackblitz com edit angular ivy rgsatp
  • apache POI 中的自动换行(Excel)

    我有一个java程序 它将标头和数据作为输入并生成一个excel文件 然而 有时当标题值很长且列数较多时 我的 Excel 工作表往往会变得不必要的宽 由于标题的原因 我必须向右向下滚动才能看到尾部列的内容 有没有一种方法可以解决这个问题
  • 将 div 链接到 HTML 中不同页面上的特定部分

    嘿 我有一个新的困境 我有 3 个 div 就像 3 个盒子一样 每个 div 中都有一个图像和一些写入的文本 我希望当我单击任何框中的任意位置时 它会转到另一页 例如如果我在主页上 然后单击框 它将转到网站中的 service html
  • 使用带有秘密的 github 操作来构建/部署 React 应用程序

    我正在尝试使用带有秘密的 github 操作来完成构建 部署我的使用 Firebase 目前仅身份验证模块 的 React 应用程序 对于本地开发 我将 env 文件与 webpack 和 dotenv webpack 库一起使用 在本地机
  • 如何使用 python 将 .mp3 文件转换为频率和振幅数组?

    我想设计一个神经网络 训练后将 mp3 文件作为输入 然后根据训练 以 1 10 的等级来决定音乐的好坏 但为此 我需要将音频文件转换为波长 频率 振幅和定义音乐所需的所有其他参数的数组 然后使用这些数组作为神经网络的输入 我应该如何解决这
  • 基于多列删除数据框之间的交集

    我有这两个数据框 df test dimension1 id dimension2 id dimension3 id dimension4 id dimension5 id 0 1 1 1 1 1 1 1177314888 23819878
  • 如何提供一种易于使用的高对比度替代柔和的配色方案?

    如何确保网站的颜色主题提供符合以下要求的高对比度替代方案WCAG 2 最低对比度要求 https webaim org articles contrast sc143除非用户想要或需要更高的对比度 否则更喜欢柔和的低对比度主题 我尝试定义一
  • 如何从 Flask 应用程序中的 MySQL 查询返回数据?

    我有以下代码 import flask as fk import MySQLdb import JSONEncoder class SpecializedJSONEncoder JSONEncoder def default o if is
  • Docker 与 Symfony 4 - 无法看到文件更改

    我正在为 Symfony 4 应用程序的开发环境开发 docker 映像 我正在构建它alpine php fpm and nginx 我已经配置了一个应用程序 但即使对于简单的 hello world 应用程序 性能也不是很好 700ms
  • Indy TCP - 循环读取数据

    TCP 服务器每 8 毫秒连续发送一次数据帧 我想编写一个能够接收这些数据帧的客户端 Indy 9 中是否有任何程序可以知道缓冲区中是否有可用数据 我当前的程序如下 我正在使用线程 procedure TThreadRead Execute
  • Numpy 用全零填充 4D 单位

    我有一个 4D numpy 数组 但每个元素都是可变大小的 3D 体积 本质上它是一个 3D 体积的 numpy 列表 所以 numpy 数组的形状是 Pdb batch x shape 3 并取元素i在那个列表中 它看起来像这样 Pdb
  • 错误 main.lua:23:尝试索引 upvalue 'Menu' (布尔值)

    我正在尝试用 lua 和 love2d 制作一个主菜单 这是我第一次这样做 遗憾的是没有关于此事的教程 所以我自己尝试了一下 我一直遇到这个错误 我不知道如何解决它 请帮助 完整错误消息 错误main lua 23 尝试索引upvalue
  • 如何使用递归查询向后遍历分层树结构

    我使用 PostgreSQL 9 1 来查询分层树结构数据 其中包含与节点连接的边 或元素 这些数据实际上是针对流网络的 但我已将问题抽象为简单的数据类型 考虑这个例子tree桌子 每条边都有长度和面积属性 用于确定网络中的一些有用的度量
  • 哪个 Java 库可用于通过 WebDAV 访问数据?

    这就是问题 哪个库可以帮助我在 Java 程序中访问通过 WebDAV 提供的数据 首选开源 我创建了一个非常易于使用的 java webdav 客户端 http sardine googlecode com http sardine go
  • “将脚本放在底部”正确吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 提高网站性能的最佳实践http developer yahoo com performance rules html http developer y
  • 如何在创建后更改 InsetDrawable 插入值

    我有一个InsetDrawable已定义 我只是希望能够在运行时调整插图的值 而无需重新分配另一个可绘制对象 这可能吗 或者唯一的方法是重新创建 InsetDrawable 这是不可能的 因为其 API 不是公开的 我遇到了和你一样的问题
  • JS Fetch API 不适用于具有授权属性的 ASP.NET Core 2 控制器

    我在客户端有以下代码 fetch music index headers Content Type application json then response gt if response ok throw response return
  • HTMLPurifier 破坏图像

    我试图根据 WYSIWYG CK 编辑器 的用户输入运行 HTMLPurifier 但图像损坏 未过滤的输入 img alt laugh src lib ckeditor plugins smiley images teeth smile
  • Sqlalchemy:当字符串位于左侧且列位于右侧时,使用 PSQL 的“~”运算符

    我知道 WHERE column regexp 这是 sqlalchemy 吗 where column op regexp 但我怎样才能创造这个呢 WHERE string column 正则表达式存储在数据库中 您需要创建一个liter