
平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:
1、秒数与Date之间的转换:selectfrom_unixtime(1388776825)
还可以定义时间格式,用法如下:
SELECTFROM_UNIXTIME(1388776825,'%Y-%m-%d%H:%m:%s')
结果:2014-01-0403:01:25
SELECT FROM_UNIXTIME(1388776825,'%Y年%m月%d')
结果:2014年1月4
2、将秒数转为Date:SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')
如果想逆向转换,可以通过unix_timestamp()函数反向转换。用法如下:
SELECTUNIX_TIMESTAMP()//获取当前时间的秒数
SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')//获取指定日期格式的秒数
SELECTUNIX_TIMESTAMP('2014-03-23')//获取指定日期格式的秒数
扩展资料:
一、date型换int型
SELECTUNIX_TIMESTAMP(‘2017-9-2213:54:45’)
二、int型转date型
SELECTFROM_UNIXTIME(1506059685)
需要注意的是,一个int值转换为DateTime需要从1970年1月1日0点0分0秒开始,但是必须明确,这个时间是标准时间,而不是北京时间。
数据库中数据的时间都是以标准时间为准绳的。所以必须转换到当前时间,中国是+8,可以简单的调用ToLocalTime达到效果。
转换函数:Convert假如数据库存的数据是字符串,格式如下:
declare @T nvarchar(50)
set @T='2015-08-08 09:00:00'
declare @A datetime
select @A=convert(datetime,@T)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)