mysql 整形转日期,如何在MySQL中选择日期作为整数

本问题已经有最佳答案,请猛点这里访问。

是否可以在mysql中选择日期类型为整数? 将其输出到.csv文件?

对的,这是可能的。

"整数"是什么意思? 一个纪元过去了几天? 代表日期的数字? 什么?

使用UNIX_TIMESTAMP()将日期转换为整数。

mysql> SELECT UNIX_TIMESTAMP();

-> 1196440210

mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');

-> 1196440219

要导出为CSV,请使用SELECT ... INTO:

谢谢,解决了我的问题

对的,这是可能的。参见Unix_Timestamp函数:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

有关导出到CSV文件的信息,请参见:http://dev.mysql.com/doc/refman/5.0/en/select-into.html

三种可能的解决方案:

Unix时间戳

代表日期的数字

自"时代"过去的天数

Unix时间戳

就像RedFilter发布的一样,unix_timestamp(date)返回Unix时间戳记的值,它是一个无符号整数,表示自1970年1月1日00:00:00 UTC以来经过的秒数。

代表日期的数字

在某些情况下,您可能需要将日期表示为数字。例如:20130331(2013年3月31日)。这只是格式问题:

select cast(date_format(date, `%Y%m%d') as int)

请查阅参考手册,以了解cast()和date_format()功能的正确用法。

自"时代"过去的天数

如果您需要计算自特定日期(例如,2011年5月15日)以来经过的天数,则需要datediff()函数:

SELECT DATEDIFF('2013-03-31','2011-05-15')

请查阅参考手册以了解datediff()功能的正确用法。

希望这对您有所帮助。

您可以使用:

UNIX_TIMESTAMP

If called with no argument, returns a Unix timestamp (seconds since

'1970-01-01 00:00:00' UTC) as an unsigned integer. If UNIX_TIMESTAMP()

is called with a date argument, it returns the value of the argument

as seconds since '1970-01-01 00:00:00' UTC.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值