Блокнот Jupyter: подстановочные знаки SQL в ячейке SQL_Magic - PullRequest
0 голосов
/ 01 января 2019

У меня есть ноутбук Jupyter, подключенный к базе данных PostgreSQL.Я хотел бы получить некоторые данные, используя поиск по шаблону (WHERE col_a LIKE '% substr%'), но он не работает в ячейке с sql_magic.

Я могу выполнять запросы очень хорошо, если они не работают.нет поиска по шаблону%.

Ячейка конфигурации (соответствует вашей конфигурации)

from sqlalchemy import create_engine
connection_string = '...your db...'
pg_engine = create_engine(connection_string)

Ячейка sql_magic

%reload_ext sql_magic
%config SQL.conn_name = 'pg_engine'

Ячейка SQL:

%%read_sql
SELECT *
FROM (
    select '100' as col_a
) as a
WHERE col_a LIKE '%0%'; -- returns empty, but should have 1 record

Запрос в «Ячейке SQL» возвращает 1 строку, выполняемую в pgAdmin, но возвращает EmptyResult, запущенный в записной книжке.

Out: <sql_magic.exceptions.EmptyResult at 0x7f5cdeefb240>

Кажется, проблема в операторе LIKE, поскольку он читает данные безГДЕ оговорка.Я пытался экранировать символы% следующим образом:

WHERE col_a LIKE '\%0\%';

, но все равно получил EmptyResult

1 Ответ

0 голосов
/ 01 января 2019

Оказывается, повторение% действует как escape, так что этот код работает:

%%read_sql
SELECT *
FROM (
    select '100' as col_a
) as a
WHERE col_a LIKE '%%0%%';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...