2015-09-07 1 views
-2

У меня есть таблица MySQL, которые имеют столбец имя, как this- cost_201410, cost_201411, ...., cost_201506 и т.д.Получение данных между именем два столбца в MySQL

Здесь пихты 4 цифры после «cost_» означает год и последние 2 цифры представляют месяцы.

Мне нужно получить данные между двумя столбцами, то есть между cost_201412 и cost_201504.

Но я не могу выяснить, что мне нужно. Образец Образец: http://sqlfiddle.com/#!9/2de80/3 Помошь ли ты пожалуйста?

+1

Пожалуйста, прочтите [Как спросить] (http://stackoverflow.com/help/how-to-ask) Пробу с помощью [SQL скрипку ] (http://sqlfiddle.com/#!3/5c2bd/3) поможет вам понять вашу проблему. –

+0

Это окупаемость для сохранения ваших данных. zup с этим? – Drew

+0

Вы можете просто использовать цикл, выполняющий несколько запросов. – PHPglue

ответ

1

Вы хотите что-то ищите?

SQL Fiddle

SELECT 
    dateCost 
FROM table1 
WHERE dateCost between 'cost_201410' and 'cost_201506' 

SQL Fiddle

SELECT 
    dateCost 
FROM table1 
WHERE CONVERT(right(dateCost, 6), UNSIGNED INTEGER) between 201410 and 201506 
+0

Хороший ответ, особенно со скрипкой. Единственное, что я хотел бы отметить, это то, что первый запрос можно оптимизировать красиво, а второй - не может. –

+0

@EdGibbs Я думаю, вы имеете в виду, что первый запрос может использовать 'INDEX' на столе, а второй - нет? –

+0

Точно, если столбец имеет индекс. Неважно: у вас было два отличных решения, и я просто хотел указать, что первый, вероятно, лучше второго. –

Смежные вопросы