Эта проблема может возникнуть, если вы откроете свой код как file:///C:/.../xxx.html
вместо http:// localhost/xxx.html
. Хром не сохраняет файлы cookie (поскольку в file://
не существует домена и нет http-связи).
Несколько интересных ссылок:
right()
с отрицательным аргументом в Postgres используется довольно редко. Но эквивалент в Oracle будет substr(x, 2)
, поэтому один метод:
SELECT *
FROM file
WHERE file_name IS NOT NULL AND
REGEXP_LIKE(CASE WHEN file_name LIKE '\\%' THEN substr(file_name, 2)
ELSE file_name
END), '^[.]|[.] Однако я бы сделал это, используя одно регулярное выражение в любой базе данных:
WHERE REGEXP_LIKE(file_name, '^(\\)?[.]|[.] Я вижу Нет смысла использовать case
при выполнении сопоставления регулярных выражений такого типа. Сравнение с NULL
просто избыточно.
);
Я вижу Нет смысла использовать case
при выполнении сопоставления регулярных выражений такого типа. Сравнение с NULL
просто избыточно.
);
Однако я бы сделал это, используя одно регулярное выражение в любой базе данных:
WHERE REGEXP_LIKE(file_name, '^(\\)?[.]|[.] Я вижу Нет смысла использовать case
при выполнении сопоставления регулярных выражений такого типа. Сравнение с NULL
просто избыточно.
);
Я вижу Нет смысла использовать case
при выполнении сопоставления регулярных выражений такого типа. Сравнение с NULL
просто избыточно.
Вместо right()
Postgres вам нужно использовать Oracle substr ()
и вместо ~
(чувствительные к регистру регулярные выражения типа оператора) regexp_like () функция с 'c'
в качестве аргумента 3d (то есть с учетом регистра, хотя может быть опущена):
SELECT * FROM file
WHERE
file_name IS NOT NULL
AND
REGEXP_LIKE(
CASE
WHEN file_name LIKE '\\%' THEN substr(file_name, 2)
ELSE file_name
END, '^[.]|[.], 'c');