Выбрать записи с симметричными номерами - MySQL

Узнай цену своей работы

Формулировка задачи:

Есть таблица dbphone. В ней поле Abonent[varchar(50)] и Phone[int(6)]. Необходимо вывести абонентов с симметричными номерами. Не представляю просто как такое сделать, помогите пожалуста.
SELECT Abonent, Phone
FROM phone
WHERE # какая то логическая функция

Решение задачи: «Выбрать записи с симметричными номерами»

textual
Листинг программы
SELECT ... WHERE (CAST(SUBSTRING(1,1,phone) AS INT) + CAST(SUBSTRING(2,1,phone) AS INT) + CAST(SUBSTRING(3,1,phone) AS INT)) = (CAST(SUBSTRING(4,1,phone) AS INT) + CAST(SUBSTRING(5,1,phone) AS INT) + CAST(SUBSTRING(6,1,phone) AS INT))

Объяснение кода листинга программы

В данном коде используется функция SUBSTRING, которая извлекает подстроку из строки. Также используется функция CAST, которая преобразует данные из одного типа в другой. В данном случае, происходит преобразование данных в тип INTEGER. Кроме того, в коде используется оператор SELECT для выбора данных из таблицы, а также оператор WHERE для фильтрации данных. Номер 1: SELECT ... WHERE (CAST(SUBSTRING(1,1,phone) AS INT) + CAST(SUBSTRING(2,1,phone) AS INT) + CAST(SUBSTRING(3,1,phone) AS INT)) = (CAST(SUBSTRING(4,1,phone) AS INT) + CAST(SUBSTRING(5,1,phone) AS INT) + CAST(SUBSTRING(6,1,phone) AS INT)) Номер 2: В данном коде происходит выборка записей, у которых сумма трех чисел (извлеченных из строк) равна сумме трех других чисел (извлеченных из других строк). Вероятно, это условие используется для поиска симметричных номеров. Номер 3: В данном коде используются переменные phone, которые представляют собой строки, содержащие номера телефонов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы