python-3.x - 是否可以使用正则表达式或其他方法转换为 postgresql?
问题描述
现在,我有一些从 JSON 解析到 SQL 的结果,并且 where 子句与 postgresql 不同。然后,需要用正则表达式转换或替换它,但我不熟悉正则表达式。
SELECT Column_name, Column_name_2, Column_name_3 FROM sample WHERE LIKE(Column_name_2, "text") OR LIKE(Column_name_2, "text_2") OR LIKE(Column_name_2, "text_3") OR LIKE(Column_3, cwcwsd) LIMIT 100;
输出:
SELECT Column_name, Column_name_2, Column_name_3 FROM sample WHERE Column_name_2 LIKE "text" OR Column_name_2 LIKE "text_2" OR Column_name_2 LIKE "text_3" OR Column_name_2 LIKE cwcwsd LIMIT 100;
解决方案
另一种方法是创建一个 PostgreSQL 函数 LIKE(text, text):
create or replace function LIKE(text, text)
returns boolean
language sql
AS $$
SELECT $1 LIKE $2;
$$;
测试它:
SELECT LIKE('success', 'su%');
返回真;
推荐阅读
- ruby-on-rails - Xero 无法使用omniauth-xero 和xeroixer 验证签名
- powershell - 使用正确的语法响应 PowerShell 5.1 中的错误
- php - 在 Wordpress 中,我如何以编程方式检查尝试发布的人是否有所需的项目(如特色图片、标签等)
- ios - 我可以存储 Apple 的公钥来验证令牌签名吗?
- javascript - 对于繁重的数据负载和基于 Angular7 的应用程序的粗加工操作,最好的 StateManagement 工具/库是什么?
- excel - 读取 .xlsx 文件并将其存储到列表中
- python - 使用 Python Jenkins API 重试失败的作业
- r - 在不同的图中分配 geom_bar 中的颜色
- vue.js - 如何以编程方式更改 Vuetify 选项卡和 vue-router
- javascript - 使用自定义属性 mapbox 为每个集群标记显示一个弹出窗口