Mysql выбрать данные между двумя строками не целое число

0

Я пытаюсь сделать это в laravel с помощью построителя запросов. Я хочу, чтобы вывести все данные между 2 данной строкой в качестве моего начала и конца.

Данные в моей базе данных:

Columntitle

DataC_1
DataC_2
DataB_1
DataC_3
DataC_4
DataC_5

Я пробовал: построитель запросов в laravel:

DB::table('tablename')->whereBetween('columnname', array(DataC_1, DataC3))->get();

Я также попробовал это в raw sql heres мой код:

SELECT * From tablename WHERE columnname BETWEEN DataC_1 AND DataC3

То, что я ожидал, - DataC2

но выход:

DataC_1
DataC_2
DataC_3
DataC_4
DataC_5

Теги:

1 ответ

0
Лучший ответ

Поскольку у вас есть одинаковые строки, вы можете сравнить их, просто отделив от них символы, а затем сравните только числа. Следующий код будет работать:

DB::table('tablename')->whereRaw("REPLACE(columnname, 'DataC_', '') > 1
AND REPLACE(columnname, 'DataC_', '') < 3")->get();

Это даст вам выход DataC_2

Руководство для функции REPLACE в MySQL

  • 0
    Thnx приятель это работает!
  • 0
    Привет @shaddy У меня есть еще один вопрос, почему, если я попытался изменить оператор ">" на> = это ошибка вывода?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню