平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:
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达到效果。
Sql Server 中一个非常强大的日期格式化函数:CONVERTSelect CONVERT(varchar(100), GETDATE(), 0)
结果是:05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1)
结果是:05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)
结果是:06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)
结果是:16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)
结果是:16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)
结果是:16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)
结果是:16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)
结果是:05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)
结果是:10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)
结果是:05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)
结果是:05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)
结果是:06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)
结果是:060516
Select CONVERT(varchar(100), GETDATE(), 13)
结果是:16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)
结果是:10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)
结果是:2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)
结果是:2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)
结果是:05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)
结果是:2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)
结果是:10:57:47
Select CONVERT(varchar(100), GETDATE(), 25)
结果是:2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)
结果是:05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)
结果是:05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)
结果是:2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)
结果是:16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)
结果是:16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)
结果是:16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)
结果是:16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)
结果是:05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)
结果是:10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)
结果是:05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)
结果是:05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)
结果是:2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)
结果是:20060516
Select CONVERT(varchar(100), GETDATE(), 113)
结果是:16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)
结果是:10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)
结果是:2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)
结果是:2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)
结果是:2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 131)
结果是:18/04/1427 10:57:49:920AM
常用:
Select CONVERT(varchar(100), GETDATE(), 8)
结果是:10:57:46
Select CONVERT(varchar(100), GETDATE(), 24)
结果是:10:57:47
Select CONVERT(varchar(100), GETDATE(), 108)
结果是:10:57:49
Select CONVERT(varchar(100), GETDATE(), 12)
结果是:060516
Select CONVERT(varchar(100), GETDATE(), 23)
结果是:2006-05-16
Select CONVERT(varchar(100), GETDATE(), 120)
结果是:2006-05-16 10:57:49
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)