java datetime(date.getTime())在mysql字段中以字符串形式存储。 我们如何使用sql查询将其转换为sql日期。我正在使用mysql数据库。 有没有可用的sql函数? 例如 - 在db。
中存储(1416231812348)今天的日期感谢您的建议。
答案 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');
您可以根据需要更改日期格式。