Sql 列的数组值的LIKE运算符
我有一个包含x和y列的简单表格。 这些列包含用于匹配的类似SQL的模式。 列x是varchar varchar[]的数组 列y是简单字符串VARCHAR 例如: 第一行:Sql 列的数组值的LIKE运算符,sql,postgresql,Sql,Postgresql,我有一个包含x和y列的简单表格。 这些列包含用于匹配的类似SQL的模式。 列x是varchar varchar[]的数组 列y是简单字符串VARCHAR 例如: 第一行: x y {'asd','sdf%','%er%'} %er% 我有一个疑问: SELECT x, 'ters' LIKE ANY("x"), y, 'ters' LIKE "y" FROM s 所以这个查询的结果是: "{'asd','sdf%','%er%'}";
x y
{'asd','sdf%','%er%'} %er%
我有一个疑问:
SELECT x, 'ters' LIKE ANY("x"), y, 'ters' LIKE "y" FROM s
所以这个查询的结果是:
"{'asd','sdf%','%er%'}";f;"%er%";t
我的问题是:
为什么LIKE操作符为Y工作而不为X工作
如何通过VARCHAR[]进行匹配?数组的输入格式错误:
select x, 'ters' like any (x), x[3]
from (values
('{asd,sdf%,%er%}'::varchar[]),
($${'asd','sdf%','%er%'}$$)
) s(x);
x | ?column? | x
-----------------------+----------+--------
{asd,sdf%,%er%} | t | %er%
{'asd','sdf%','%er%'} | f | '%er%'
发布select x的精确输出;上面写着。从s中选择x;{'asd','sdf%,'%er%}