Substring_Index到日期

时间:2016-11-18 03:05:12

标签: mysql

我有问题,所以我有表让所说的名字是table1,那个table1已经提交了名称UserName。而像这样的价值“ Jiyo-192.168.10.22 Date 31-Aug-2016 Jam 11:35:36 ”,所以这样的格式值 的&安培;名称&安培; - &安培; IPADDRESS&安培;日期和日期时间& 。因为我想UserName成为日期我使用像这样的subtring_index SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date', - 1),'Jam',1)AS date1 但我的问题是我需要查询两个日期之间的date1,我只是使用我的代码

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1) FROM table1 
WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1) BETWEEN DATE_FORMAT('2016-11-01','%d-%b-%Y') AND DATE_FORMAT('2016-11-18','%d-%b-%Y')

但是,从2007年3月12日到2016年11月17日,我们的结果并未得到证实。我得错了什么或者substring_index真的没有工作来获得价值日期?

1 个答案:

答案 0 :(得分:0)

我认为您必须使用CAST()来执行BETWEEN,就像那样:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1) FROM table1 
  WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1)
    BETWEEN CAST('2016-11-01' AS DATETIME)
      AND CAST('2016-11-18' AS DATETIME)