Select-запрос. Конкатенация в условии - текст+значение поля - MySQL
Формулировка задачи:
Таблица во вложении необходимо выбрать те строки где числа(!) в колонках name и resource не равны
Что-то типа такого:
Понятно что синтаксически не правильно. А как правильно? Подскажите пожалуйста!
SELECT * FROM TABLE WHERE name != 'resource-'.resource
Решение задачи: «Select-запрос. Конкатенация в условии - текст+значение поля»
textual
Листинг программы
mysql> select concat( 'resource-' , 727 ); +-----------------------------+ | concat( 'resource-' , 727 ) | +-----------------------------+ | resource-727 | +-----------------------------+ 1 row in set (0.00 sec) mysql> select substring_index( 'resource-727' , '-' , -1 ); +----------------------------------------------+ | substring_index( 'resource-727' , '-' , -1 ) | +----------------------------------------------+ | 727 | +----------------------------------------------+ 1 row in set (0.00 sec) mysql>
Объяснение кода листинга программы
- В первом запросе используется функция CONCAT(), которая объединяет текст 'resource-' и число 727 в одну строку. Результатом запроса будет строка 'resource-727'.
- Во втором запросе используется функция SUBSTRING_INDEX(), которая разделяет строку 'resource-727' по символу '-' и возвращает последний элемент результата разделения, то есть число 727.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д