2017-02-20 17 views
0

Я использую сервер Postgres и испытываю трудности с типами данных XML. Кажется, что информация о Postgres и XML ограничена в Интернете.Поиск подчеркивания с помощью LIKE

Я пытаюсь вставить столбец данных XML во временную таблицу, где Расположение узел содержит подчеркивание, используя что-то похожее на LIKE в SQL

<Country> 
    <ID>813</ID> 
    <Location>IB_202</Loction> 
</Country> 

Я использую этот SQL запрос, чтобы получить данные,

SELECT CAST(xpath('/Country/Location/text()', penDetails) as text[]) 
FROM "dbSystemCheck".tbl_countryitems 
WHERE personId = 314 
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%[_]%' 
LIMIT 10 

Временная таблица настроена так же, как и исходная таблица данных. Я ищу, чтобы просто разделить местоположения.

Я читала, что нижнее подчеркивание нужно экранировать отсюда []

ответ

0

Я читала, что нижнее подчеркивание нужно экранировать, следовательно, не [] и

квадратные скобки имеют особого значения в инструкция SQL LIKE. Если вы хотите, чтобы избежать подчеркиваний вам нужно указать экранирующий символ:

AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%\_%' ESCAPE '\' 

Вы также можете использовать экранирующий символ, если вы хотите:

AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%#_%' ESCAPE '#'