#sql
#sql
Вопрос:
У меня есть упрощенный пример с использованием номерных знаков, хранящихся в таблице с одним столбцом. Предположим, у меня есть таблица ниже, где некоторые значения хранятся с подстановочным знаком: * для обозначения нескольких символов или ? для обозначения одного символа. В этой ситуации можно было бы выполнить какой-то обратный запрос?
Имя
507KL?
2RCS20
8HD7AC
HA04*
HA0401
Например, предположим, я получаю номерной знак HA0422. Я хотел бы написать запрос, который соответствует 4-й строке в моей таблице. Возможно ли это только с SQL?
Комментарии:
1. Пометьте свой вопрос базой данных, которую вы используете.
Ответ №1:
Вы можете поместить like
параметры в любом порядке, который вы хотите — шаблон может исходить из столбца. Однако *
это не подстановочный знак. %
есть. И ?
предположительно означает _
. So:
where 'HA0422' like replace(replace(name, '*', '%'), '?', '_')
Комментарии:
1. То же самое для ‘_’ вместо ‘?’