SQL中如何将数字型转换为日期型

SQL中如何将数字型转换为日期型,第1张

平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:

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 中一个非常强大的日期格式化函数:CONVERT

Select 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10031788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存