java - MYSql 存储过程,日期时间值不起作用

标签 java mysql sql database mysql-workbench

DELIMITER // 
CREATE PROCEDURE GetWinners(IN Number INTEGER , IN Table_Name VarChar(7)) 
BEGIN 
 SET @t1 = CONCAT('Select * FROM ', Table_Name, ' Where number = ', Number, ' && active = true && dateAndTime < 2015-02-10');
 PREPARE stmt3 FROM @t1;
 EXECUTE stmt3;
 DEALLOCATE PREPARE stmt3;
END // 
DELIMITER ;

dateAndTime 是我存储 DateTime 值的列。 我不明白为什么用 && dateAndTime < 2015-02-10' , 查询不返回任何结果。

如果我删除 && dateAndTime < 2015-02-10' ,然后返回一些结果。 即使列中的 DateTime 值低于 2015-02-10,也会发生这种情况。

最佳答案

这很可能是由于您的日期格式,时间被添加到日期但是由于您在 mysql 中的偏好,它只显示没有时间的日期。 使用 trimtrunc 删除时间。

TRUNC(dateAndTime) < TO_DATE('2015-02-10', 'YYYY-MM-DD')

关于java - MYSql 存储过程,日期时间值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346793/

相关文章:

java - 如何在 Android Studio 中使用 FCM 和 Bazel?

MySQL:当表中有2个 `Unique Key`时,是否必须创建 `Primary Keys`?

java - 使用 java netbeans 程序打开各种文件

java - 使用 Java 登录,其中服务器身份验证可以如此或 Web 应用程序容器基本

php - 如何使用explode implode从数据库中选中和取消选中复选框

html - 保存自由格式描述以及空格和换行符

mysql - 如何在 MySQL 5 .7 中实现 CTE 功能?

sql - 按两列排序但只有一个订单

java - 如何使用共享对象创建 SOAP 客户端

MySQL WordPress 从 meta_value 中提取数据