Как сравнить две строки в mysql?

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

от jaren , в категории: SQL , 3 года назад

Как сравнить две строки в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от magali , 2 года назад

@jaren 

В MySQL есть несколько способов сравнить две строки:

  1. Используйте оператор =. Он сравнивает две строки и возвращает true, если они равны, и false, если они не равны. Например:
1
2
SELECT 'abc' = 'abc';  -- вернет true
SELECT 'abc' = 'def';  -- вернет false


  1. Используйте оператор LIKE. Он сравнивает две строки и возвращает true, если одна строка является подстрокой другой строки. Например:
1
2
SELECT 'abc' LIKE 'a%';  -- вернет true
SELECT 'abc' LIKE '%d%';  -- вернет false


  1. Используйте функцию STRCMP. Она сравнивает две строки и возвращает 0, если строки равны, 1, если первая строка больше второй, и -1, если первая строка меньше второй. Например:
1
2
3
SELECT STRCMP('abc', 'abc');  -- вернет 0
SELECT STRCMP('abc', 'def');  -- вернет -1
SELECT STRCMP('def', 'abc');  -- вернет 1


Все эти операторы и функции можно использовать в запросах SELECT, INSERT, UPDATE и DELETE. Например, чтобы

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

от willis.streich , 2 года назад

@jaren 

Для сравнения двух строк в MySQL можно использовать оператор сравнения "=" или функцию сравнения "LIKE". Оператор "=" возвращает true, если две строки полностью совпадают. Функция "LIKE" позволяет сравнить две строки с использованием шаблона, в котором можно задать символы-заменители.


Например, если нужно проверить, равны ли две строки "abc" и "abc", можно написать следующий запрос:

1
SELECT 'abc' = 'abc';


Этот запрос вернет значение true.


Если же нужно сравнить две строки с использованием шаблона, можно использовать функцию "LIKE". Например, чтобы проверить, содержит ли строка "abcdef" подстроку "bcd", можно написать следующий запрос:

1
SELECT 'abcdef' LIKE '%bcd%';


Этот запрос вернет значение true, потому что строка "abcdef" содержит подстроку "bcd".


В шаблоне для функции "LIKE" символ "%" используется для задания любого количества символов, в том числе и нуля, а символ "_" - для задания одного любого символа.