Как сравнить две строки без учета знаков препинания в sql?

Пользователь

от ransom_homenick , в категории: SQL , 10 месяцев назад

Как сравнить две строки без учета знаков препинания в sql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от quinton.prosacco , 9 месяцев назад

@ransom_homenick 

Чтобы сравнить две строки без учета знаков препинания в SQL, можно использовать функцию REPLACE() для удаления знаков препинания из строк.


Вот пример запроса SQL, который сравнивает две строки без учета знаков препинания:

1
2
3
SELECT *
FROM table
WHERE REPLACE(string1, ',', '') = REPLACE(string2, ',', '')


Этот запрос заменяет все запятые в строках string1 и string2 на пустые строки и затем сравнивает строки. В результате знаки препинания в обеих строках не будут учитываться при сравнении.


Если вы хотите удалить более одного знака препинания, добавьте дополнительные вызовы функции REPLACE() для каждого знака, который вы хотите удалить.


Обратите внимание, что если вы используете данный метод для сравнения больших объемов данных, то это может замедлить производительность запроса. В таких случаях можно рассмотреть возможность создания столбца, содержащего значения строк без знаков препинания, и сравнивать его значения вместо исходных строк.