mysql - 将 CSV 文件中的日期存储到 SQL 中的最佳方法

标签 mysql sql csv date datetime

嘿,目前正在将 csv 文件转换为 SQL,并试图找出从我的 sql 文件中存储日期列的最佳方法。我需要能够进行查询以获取特定日期内的记录选择,如下所示:

SELECT * 
FROM TABLENAME 
WHERE DateTime >= '12/04/2011 12:00:00 AM' AND DateTime <= '25/05/2011 3:53:04 AM'

我的 CSV 中每个日期的数据存储为“MM/DD/YYYY hh:mm”,转换此数据并将其插入到 sql 列中的最佳方法是什么。我是否将列设置为字符串列或日期时间列以便能够根据日期进行查询?将数据输入表时是否只使用convert() 函数?

我似乎无法找出最佳实践和方法,因为有很多相互矛盾的答案。任何简单的例子都会非常有帮助。

提前致谢。

最佳答案

如果您只需要将 CSV 数据导入 SQL 一次,那么我会首先对日期格式进行一些操作。

您想要获取格式为 YYYY-MM-DD HH:MM:SS 的日期。完成此操作后,将数据库中的列设为 DATETIME

完成此操作后,您将能够运行如下查询:

SELECT * 
FROM TABLENAME 
WHERE DateColumnName >= '2011-04-12 12:00:00' AND DateColumnName <= '2011-05-25 03:53:04'

关于mysql - 将 CSV 文件中的日期存储到 SQL 中的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58985143/

相关文章:

mysql - 使用SQL比较不同表之间的数据

php - SQL 和 PHP 问题

java - SQL Delete 语句中的多个条件

mysql - 选择共享 MIN(PRICE) 值的多个书名 | MySQL

php - 当SQL查询时间过长时如何修复页面错误500?

python - python、pandas中string.contains的反转

java - 在 JSON 转换为 CSV 期间保持 JSON 键的顺序

mysql - 如何将采购数据添加到库存以及从销售数据减去库存数据

php - 使用 php 格式化字符串

php - SQL 查询未得到预期结果