有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java MYSQL日期比较问题异常

我已经看了关于其他问题的建议。已添加回tics,检查是否正在比较日期值,但无法使此代码正常工作。我在这个声明中做错了什么

SELECT * from project where project.completed_date >= '2015-01-01' order by customer, projectName

这给了我一个例外

"javax.servlet.ServletException: java.sql.SQLException: Unknown column '2015-01-01' in 'where clause'"

为什么它把那个日期看作一列而不是一个值


共 (3) 个答案

  1. # 1 楼答案

    您正在比较字符串和日期。重写您的查询,如下所示:

    SELECT * from project where project.completed_date >= STR_TO_DATE('2015-01-01','%Y-%m-%d') order by customer, projectName
    

    有关这方面的更多信息,请参见:Converting a date in MySQL from string field

  2. # 2 楼答案

    试试看

    SELECT *
    FROM project
    WHERE completed_date >= STR_TO_DATE('2015-01-01', '%Y-%m-%d')
    ORDER BY customer, projectName
    
  3. # 3 楼答案

    你应该在日期前后使用单引号(或双引号),而不是反引号。因此,查询应该如下所示:

    SELECT *
    FROM project
    WHERE project.completed_date >= '2015-01-01'
    ORDER BY customer, projectName