java - mysql中的日期比较

标签 java mysql jsp date

如果 id 和日期不存在,我尝试在 mysql 表中插入一条记录,但使用以下存储过程,即使记录已经存在,也会插入记录。

CREATE PROCEDURE `Add`(Id int,Date_In varchar(50), Date_In2 varchar(50), Out result int)
BEGIN
IF (select count(*) from mytable Where date_format(Datein, '%d/%m/%Y')=str_to_date(Date_In2, '%d/%m/%Y') and id=Id) < 1 then
BEGIN
... insert statement here          
set result=1;
END;
END if;
end

JSP 页面中的日期为 dd/MM/yyyy 格式。

Java:

String date2 = request.getParameter("date");
//15/05/2015
insert statement goes here

如何查找该日期是否已存在?

最佳答案

您的日期比较错误

date_format(Datein, '%d/%m/%Y') <= str_to_date(Date_In2, '%d/%m/%Y')

该语句将返回 0 ,使用 str_to_date 函数将以 Y-m-d 格式返回日期,除非使用 date_format 再次将其格式化为不同的格式功能。

mysql> select date_format(curdate(), '%d/%m/%Y')=str_to_date('04/05/2015', '%d/%m/%Y') ;
+--------------------------------------------------------------------------+
| date_format(curdate(), '%d/%m/%Y')=str_to_date('04/05/2015', '%d/%m/%Y') |
+--------------------------------------------------------------------------+
|                                                                        0 |
+--------------------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

因此它失败了。

如果 Datein 存储为 date 数据类型,则无需进行格式化,否则您需要格式化为 Y-m-d

mysql> select date_format(curdate(), '%Y-%m-%d')=str_to_date('04/05/2015', '%d/%m/%Y') ;
+--------------------------------------------------------------------------+
| date_format(curdate(), '%Y-%m-%d')=str_to_date('04/05/2015', '%d/%m/%Y') |
+--------------------------------------------------------------------------+
|                                                                        1 |
+--------------------------------------------------------------------------+
1 row in set (0.00 sec)



date_format(Datein, '%Y-%m-%d')=str_to_date(Date_In2, '%d/%m/%Y') 

关于java - mysql中的日期比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30023637/

相关文章:

java - 获取所有联系人时出错

Java - 如何在 LWJGL 中使用顶点缓冲区对象?

java - 如何在 glassfish 上设置 HTTPS Java servlet

mysql - 如何将 SQL 数据库从 Windows 7 移动到 ubuntu

java - 使用Java Server Pages,提交后如何制作 "register"表单数据

java - 在 Java 中将十六进制字符串转换为无符号字节数组

MySQL 查询连接的唯一结果

php - 分页在带有 url_suffix 的 codeigniter 2.1.0 中无法正常工作

mysql - 如何使用jsp将数据库中的数据打印成pdf文件?

java - 谷歌应用程序引擎 JSP