在我的查询中,MYSQL CAST不起作用

在我的查询中,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\

我不知道我的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\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秒)不要在评论中添加重要信息;它们应该被认为是短暂的。相反,你的问题应该包含读者需要理解的所有相关信息。