mysql - 迄今为止的 Substring_Index

标签 mysql

我有问题,所以我有一个表,名字是 table1,那个 table1 的文件名是 UserName。像这样的值“Jiyo-192.168.10.22 Date 31-Aug-2016 Jam 11:35:36”,所以格式值像这样 &姓名&-&ip地址&日期&日期时间&。因为我想 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 真的无法获取起息日?

最佳答案

我认为您必须使用 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)

关于mysql - 迄今为止的 Substring_Index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40668700/

相关文章:

sql - mysql "datetime NOT NULL DEFAULT ' 1970-01-0 1' "变成 0000-00-00 00 :00:00

sql - 我可以使用 MySQL 根据与第三个表的关系连接两个表吗?

java - 使用专有 MySQL DB 对 Java 应用程序进行 Docker 化

mysql - SQL 查询运行速度极慢

mysql - 如何将查询结果插入列mysql

java - java hibernate 的解决方法是使用保留字作为列名来更新 mySQL 表中的行

php - mysqldump-php 不适用于共享托管公司数据库。没有命令行访问权限或 super 权限

php - MySQL where like with multiple words and order by weight

mysql - 将以下内容更改为带条件的参数化查询

MySQL - 从2个不同的表和组结果中选择product_id