Для чего используются переменные-массивы в выпуске AgensGraph ver1.3?

Я использовал в версии 1.3 AgensGraph, но не использовал оператор 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);

ОШИБКА: синтаксическая ошибка в или около "МАТЧА". ЛИНИЯ 3: ГДЕ ИМЯ В (МАТЧ (a:person) ГДЕ a.age = 102 ВОЗВРАЩАЕТСЯ....

1 ответ

Вы должны регулярное выражение в выпуске AgensGraph ver 1.3. потому что, 1.3 версия авто, и явное приведение типов не работает. так. Ваш запрос выполнен ниже

SELECT * FROM t_name WHERE name IN (SELECT regexp_replace(unnest(string_to_array(t1.name::text, ',')),'[^a-zA-Z0-9]', '', 'g') FROM (МАТЧ (a:person) ГДЕ a.age = 102 ВОЗВРАЩАЕТСЯ a.name) t1);

имя | возраст ------+----- ljh | 102

Другие вопросы по тегам