mysql - 转换日期格式以运行 select 语句

标签 mysql sql date jcalendar

对于我正在为学校编写的程序(用Java),我必须在 至 日期之间运行一条选择语句以生成时间表。这将从 SQL 中选择数据并将其放入表中。 我的问题是数据类型日期的格式为“YYYY-MM-DD”,而我使用的 JCalendar 库给出的日期为 MM/DD/YYYY,所以这会破坏它。有没有办法改变SQL格式?或者有一个简单的方法来解决这个问题?

这是我的选择查询:

'"SELECT * FROM `events` 
 WHERE `Date Of Event` >= '"+firstDate+"' AND `Date Of Event` <= '"+secondDate+"'"' 

其中第一个日期和最后一个日期的格式不同。

非常感谢任何帮助。

最佳答案

您可以使用SimpleDateFormat类将日期解析为 Date对象并使用另一个 SimpleDateFormat 对象将其解析为所需的格式。

以下是如何执行此操作的示例:

String sqlDate = "1992-02-16";
SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdfInput.parse(sqlDate);
SimpleDateFormat sdfResult = new SimpleDateFormat("MM-dd-yyyy");
String result = sdfResult.format(date);

数据库以yyyy-MM-dd格式存储它的原因是为了允许排序,而您的JCalendar使用MM-dd-yyyy 格式,因为它是显示日期的标准美国方式。

我还强烈建议您使用PreparedStatement并向其中添加参数而不是连接。

关于mysql - 转换日期格式以运行 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22438627/

相关文章:

mysql - Codeigniter:多个 Active Record 调用与合并和破坏模型

sql - 批量插入数据计算新插入

java - 转换日期格式不起作用

mysql - SQL查询从按单列分组的多条记录中获取单条记录

mysql - 从 2 个 MySQL 数据库查询数据到新的 MySQL 数据库

python - 使用 Python,以整数形式获取当前月份的日期

python - 使用 Python 将包含复杂日期值的字符串转换为日期

php - 在 SQL 中合并相似表第 2 部分

php - 注销脚本不起作用

mysql - brew 服务启动 mysql vs mysql.server 启动