我在AgensGraph版本1.3中使用了 但是我没有在运算符中使用where子句。
例如:
eya=# CREATE (a:person {name:['ljh','jhlee'], age:102});
GRAPH WRITE (INSERT VERTEX 1, INSERT EDGE 0)
CREATE TABLE t_name (
name text,
age int
);
CREATE TABLE
insert into t_name values ('ljh', '102');
INSERT 0 1
eya=# insert into t_name values ('khan', '101');
INSERT 0 1
eya=# SELECT *
FROM t_name
WHERE name IN (MATCH (a:person) WHERE a.age = 102 RETURN a.name);
错误:“ MATCH”处或附近的语法错误第3行:WHERE名称IN(MATCH (a:person)a.age = 102 RETURN a ....
答案 0 :(得分:0)
您应该在AgensGraph 1.3版中进行正则表达式。 因为1.3版本的自动和显式类型转换无法操作。 所以。您在下面执行查询
SELECT * FROM t_name在哪里输入名称(SELECT regexp_replace(unnest(string_to_array(t1.name::text,','))),'[^ a-zA-Z0-9]','','g' ) FROM(MATCH(a:person)WHERE a.age = 102 RETURN a.name)t1);
名称|年龄 ------ + ----- ljh | 102