首页 > 解决方案 > 是否可以使用正则表达式或其他方法转换为 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;

标签: python-3.xregexpostgresql

解决方案


另一种方法是创建一个 PostgreSQL 函数 LIKE(text, text):

create or replace function LIKE(text, text)
returns boolean
language sql
AS $$
  SELECT $1 LIKE $2;
$$;

测试它:

SELECT LIKE('success', 'su%');

返回真;


推荐阅读