Поиск по сайту:

Возвращать похожие имена из разных столбцов с разным распределением пространства в MySQL?


Для этого используйте LTRIM() и RTRIM(), поскольку имена похожи, но имеют разное распределение левого и правого пространства. Например, «Джон» и «Джон».

Сначала создадим таблицу:

mysql> create table DemoTable614 (EnterName varchar(100),ReennterName varchar(100));
Query OK, 0 rows affected (0.97 sec)

Вставьте несколько записей в таблицу с помощью команды вставки:

mysql> insert into DemoTable614 values(' John ','John');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable614 values('Carol ','Bob');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable614 values('David ','David');
Query OK, 1 row affected (0.23 sec)

Отобразите все записи из таблицы с помощью оператора select:

mysql> select *from DemoTable614;

Это даст следующий результат:

+------------+--------------+
| EnterName  | ReennterName |
+------------+--------------+
| John       | John         |
| Carol      | Bob          |
| David      | David        |
+------------+--------------+
3 rows in set (0.00 sec)

Ниже приведен запрос для возврата похожих имен из разных столбцов с различным распределением пространства:

mysql> select *from DemoTable614 where LTRIM(RTRIM(EnterName)) = LTRIM(RTRIM(ReennterName));

Это даст следующий результат:

+------------+--------------+
| EnterName  | ReennterName |
+------------+--------------+
| John       | John         |
| David      | David        |
+------------+--------------+
2 rows in set (0.00 sec)

Статьи по данной тематике: