在我的查询中,MYSQL CAST不起作用
我不知道我的MYSQL查询出了什么问题:在我的查询中,MYSQL CAST不起作用,mysql,enums,casting,Mysql,Enums,Casting,我不知道我的MYSQL查询出了什么问题: SELECT * FROM package_customers pc left join installations ins on ins.package_customer_id = pc.id WHERE pc.status = 'scheduled' AND CAST(ins.schedule_date as DATE) >='10-27-2017' 这些字段是: 状态数据类型枚举 计划\日期数据类型varchar 在schedule\
SELECT * FROM package_customers pc
left join installations ins on ins.package_customer_id = pc.id
WHERE pc.status = 'scheduled'
AND CAST(ins.schedule_date as DATE) >='10-27-2017'
这些字段是:
schedule\u date
一栏中,数据如下:2017年10月27日上午12点下午12点
我正在尝试查找日期数据。
cast
如果源数据的格式可以接受,则该功能可以工作。有一些条件可以验证日期和时间格式。
您的
schedule\u date
列值与它们不匹配。因此,cast
失败。请阅读 您应该考虑重新设计该表,以包含数据类型为
datetime
的schedule\u start
和schedule\u end
列。MySQL有多种方法来处理这些数据字段
目前,您的varchar日期数据可以通过以下方式处理
mysql> SELECT @dt_string:='10-27-2017 12AM 12PM' AS dt_string
-> , @dtime:=STR_TO_DATE( @dt, '%m-%d-%Y %h%p %h%p' ) AS date_time
-> , DATE( @dtime ) AS my_date;
+-----------------------+---------------------+------------+
| dt_string | date_time | my_date |
+-----------------------+---------------------+------------+
| 10-27-2017 12AM 12PM | 2017-10-27 12:00:00 | 2017-10-27 |
+-----------------------+---------------------+------------+
1 row in set (0.00 sec)
你的问题是什么?这个查询提供了什么结果?这与您想要的有什么不同?在我的数据库字段schedule_date have 10-27-2017 12AM 12PM和status字段have scheduled中,但当我运行此查询时,消息是:MySQL返回一个空结果集(即零行)。(查询耗时0.0242秒)不要在评论中添加重要信息;它们应该被认为是短暂的。相反,你的问题应该包含读者需要理解的所有相关信息。