У меня есть таблица с именем столбца 2/may/2018, 2/june/2018 и т. д. Теперь я хочу получить данные из столбцов, имя которых может быть указано.
Это. Но это данные с веб-сайта, который не был создан самостоятельно.
О, мальчик, это грязно. Вы можете выяснить, существует ли определенный столбец в таблице, запросив INFORMATION_SCHEMA, но вы не сможете получить его значение таким образом. Я бы предложил использовать что-то вроде PowerQuery для преобразования данных в более удобный формат.
SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='[database name]' and `TABLE_NAME`='[table name]'
AND `COLUMN_NAME` LIKE '%may%'
Это должно работать. Вы также можете обратиться к этому ответу, который предназначен для аналогичного запроса. - MySQL: выберите имена столбцов, содержащие строку
Также на случай, если мне это понадобится в каком-то диапазоне, например, с 2018 по 2019 год?
В предложении WHERE вы можете добавить это: AND (COLUMN_NAME
LIKE '%2018' OR COLUMN_NAME
LIKE '%2019')
@karthik_ghorpade для поиска между датами.. используйте предложение BETWEEN , SELECT * FROM Orders WHERE OrderDate МЕЖДУ '1996-07-01' И '1996-07-31'; ИсточникW3Schools
@Demeteor Я думаю, что OP хотел понять, как найти данные из таблиц со столбцами, содержащими 2018 или 2019 годы в их именах, а не все записи между заданным диапазоном дат. Пожалуйста, перечитайте исходный вопрос.
@ShaliniSharma, дайте мне знать, если это решение сработало для вас
@karthik_ghorpade, вы правы, он хочет записи с Мэй в названии. мои плохие ура за указание на это
@karthik_ghorpade, Деметеор, большое спасибо за наши ответы. Это сработало для меня.
Это похоже на очень плохой дизайн таблицы