【发布时间】:2014-07-23 10:29:06
【问题描述】:
您好,我在 mysql 中遇到了这个问题,我的表如下所示
身份证年 1 1985-1996 2 1990-2000现在我将收到一个提交的值(两年之间的年份,例如 1990 年)我必须将年份分成两部分,例如 1985 年作为 initVal 和 1996 年 endVal
我尝试了一些对我不起作用的方法
SELECT * FROM cip_finder WHERE model =33 AND('1986' BETWEEN if(locate('_',years)=0,'',SUBSTRING_INDEX(years, '_', 1)) AND if(locate('_',years)=0,'',SUBSTRING_INDEX(years, '_', 1)))
SELECT *,SPLIT_STR(years, '-', 1) AS initVAL,SPLIT_STR(years, '-', 2) AS endVal FROM cpc_finder WHERE model =33 AND('1986' BETWEEN initVal AND endVal)
有没有办法解决这个问题
【问题讨论】:
-
标准化您的数据。你的意图是搜索两列,所以让你的
years成为yearFrom和yearTill
标签: php mysql mysqli string-split