在查询中将java日期转换为sql日期

时间:2014-11-17 13:48:48

标签: mysql sql

java datetime(date.getTime())在mysql字段中以字符串形式存储。 我们如何使用sql查询将其转换为sql日期。我正在使用mysql数据库。 有没有可用的sql函数? 例如 - 在db。

中存储(1416231812348)今天的日期

感谢您的建议。

3 个答案:

答案 0 :(得分:1)

Java将日期作为long返回,要转换它可以使用:

SELECT FROM_UNIXTIME(event_time) FROM MY_TABLE

如果出现错误,请尝试以下操作(测试后,我可以看到您的数据以毫秒为单位存储,因此您需要使用此方法):

SELECT FROM_UNIXTIME(event_time/1000) FROM MY_TABLE

(将event_time更改为表中的字段名称,将MY_TABLE更改为表名。)

这是一个SQLFiddle example,显示它正常工作。

这是一个给出格式化选项的答案: http://notsoyellowstickies.blogspot.co.uk/2011/11/converting-long-into-datetime-mysql.html

答案 1 :(得分:0)

有一个java.sql包,包含时间。您可以直接将其发送到数据库,而无需转换它。

这可能是一个比在Java中将日期字符串转换为MySQL时更先发制人的解决方案。

回答了类似的问题,可能会帮助你:

A datetime equivalent in java.sql ? (is there a java.sql.datetime ?)

答案 2 :(得分:0)

最有可能是你录制的:

System.currentTimeMillis()

这样:

select DATE_FORMAT ( from_unixtime( your_table_field / 1000 ) , '%e %b %Y');

您可以根据需要更改日期格式。