我想根据Postgres SIMILAR TO
表示法对2列进行比较,在下面的示例中,它是~*
。让我们调用列:COLUMN1和COLUMN2。
它适用于大多数行,然后在进一步调查之后,如果任一列的值具有" ++"查询失败。
SELECT
CASE
WHEN 'gcc' ~* 'gcc++' THEN 1
ELSE 2
END
带有以下消息
ERROR: invalid regular expression: quantifier operand invalid
显然上面的gcc ++字符串需要转义。
问题: postgres中有Postgres内置函数可以逃避列值,以便比较更安全吗?我在想下面的事情......
SELECT
CASE
WHEN escapeMe(COLUMN1) ~* escapeMe(COLUMN2) THEN 1
ELSE 2
END
FROM TABLE_T1