Mysql时区选择

时间:2018-03-22 13:20:20

标签: mysql

在我的应用程序中,我需要执行这样的查询,

SELECT * FROM TBL_AUDITREQUEST WHERE CREATE_DATE >= " + search.getStartDate() + " AND CREATE_DATE =< " + search.getEndDate() + " AND STATUS = '"search.getStatus() +"'";

getStartDate()和getEndDate()当然是日期类型。错误是,

  

捕获的类型为com.sap.sql.log.OpenSQLException的异常:SQL   声明&#34; SELECT * FROM TBL_AUDITREQUEST WHERE CREATE_DATE&gt; = Thu Mar   22 14:11:00 EET 2018&#34;包含语法错误[s]: - 1:57 - SQL   语法错误:令牌&#34; MAR&#34;这里没有预料到

表格的数据是

enter image description here

如何执行上述选择查询?

1 个答案:

答案 0 :(得分:0)

  1. 根据支持的MySQL datetime literal formats之一,将getStartDategetEndDate返回的日期时间转换为。 “ Thu Mar 22 14:11:00 EET 2018 ”不支持格式。
  2. 正确添加前缀(TIMESTAMP)和引用(')日期:
  3.   

    SELECT * FROM TBL_AUDITREQUEST WHERE CREATE_DATE&gt; = TIMESTAMP'“+   search.getStartDate()+“'AND CREATE_DATE =&lt; TIMESTAMP'”+   search.getEndDate()+“'AND STATUS ='”+   search.getStatus()+“'”;