Mysql选择BETWEEN两个STRING的数据不是整数

时间:2015-05-18 05:18:05

标签: mysql laravel

我尝试使用查询构建器在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();

我也在原始的sql中尝试过我的代码:

SELECT * From tablename WHERE columnname BETWEEN DataC_1 AND DataC3

我期望的输出是DataC2

但输出是:

DataC_1
DataC_2
DataC_3
DataC_4
DataC_5

1 个答案:

答案 0 :(得分:0)

由于你有相同的字符串,你可以通过从中删除字符来比较它们,然后只比较数字。以下代码将起作用:

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

这将为您提供输出DataC_2

Manual for the REPLACE function in MySQL