Подстановочный знак SQL содержит слово, а не как часть другого слова - PullRequest
1 голос
/ 30 апреля 2019

Мне нужно написать aql-запрос с условием, в котором слово содержит слово «кг», а не является частью другого слова .

Я пробовал:

WHERE word LIKE '% kg %' or word LIKE 'kg %' or word LIKE '% kg' or word LIKE 'kg'

Есть ли другой путь короче этого?

Ответы [ 2 ]

2 голосов
/ 30 апреля 2019

Вы можете добавить разделители в. Используя стандартные конструкции SQL:

WHERE ' ' || word || ' ' LIKE '% kg %'

Не все базы данных поддерживают стандартный оператор конкатенации. Используйте соответствующую функцию в вашей базе данных.

1 голос
/ 30 апреля 2019

Если вам приходится рассматривать случаи, например, 100 кг, я бы исключил только, когда есть альфа непосредственно перед или после «кг».

WHERE word LIKE '%KG%' AND word NOT LIKE '%[A-Z]KG[A-Z]%'
...