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达到效果。

这个不知道是什么数据库

粗略的看上去,

好像是有2种格式

(

NULL

除外

)

1种是只有

1天的

格式是:

星期几

日期

例如

第2行

FR02NOV

也就是

星期五

2号

11月

1种是包含2天的

格式是:

星期几

日期

V

星期几

日期

月:

例如

第1行

MO05NOVFR02NOV

也就是

星期一

5号

11月

V

星期五

2号

11月

举例如下:

select

convert(varchar(10),getdate(),120)

2006-05-12

select

convert(varchar,

getdate(),

120

)

2006-05-12

11:06:08

select

replace(replace(replace(convert(varchar,

getdate(),

120

),'-',''),'

',''),':','')

20060512110608

select

convert(varchar(12)

,

getdate(),

111

)

2006/05/12

select

convert(varchar(12)

,

getdate(),

112

)

20060512

select

convert(varchar(12)

,

getdate(),

102

)

20060512

其它几种不常用的日期格式转换方法:

select

convert(varchar(12)

,

getdate(),

101

)

0612/2005

select

convert(varchar(12)

,

getdate(),

103

)

12/09/2004

select

convert(varchar(12)

,

getdate(),

104

)

12052006

select

convert(varchar(12)

,

getdate(),

105

)

12-05-2006

select

convert(varchar(12)

,

getdate(),

106

)

12

05

2006

select

convert(varchar(12)

,

getdate(),

107

)

05

12,

2006

select

convert(varchar(12)

,

getdate(),

108

)

11:06:08

select

convert(varchar(12)

,

getdate(),

109

)

0512

2006

1

select

convert(varchar(12)

,

getdate(),

110

)

09-12-2004

select

convert(varchar(12)

,

getdate(),

113

)

12

052006

select

convert(varchar(12)

,

getdate(),

114

)

11:06:08177

参考链接: 网页链接

单击要获得北京时间的那一列,右键,选择设置单元格格式,在d出的窗口中,左侧选择 日期,右侧选择你想要的时间格式,点击确定。

选中其中一个单元格,输入公式

=(A2+83600)/86400+70365+19

其中,A2是要转化的时间戳的单元格。

输入完公式,按下回车键。

该时间戳即转化为北京时间。

选中上面转化好的北京时间单元格,鼠标移到单元格的右下角,当鼠标形状变为实心的十字形时,双击鼠标左键。则整列即应用同样的公式。

在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。表111显示了所有的格式。

表111日期和时间的类型

类型值标准输出

0Defaultmonddyyyyhh:miAM

1USAmm/dd/yy

2ANSIyymmdd

3British/Frenchdd/mm/yy

4Germanddmmyy

5Italiandd-mm-yy

6-ddmonyy

7-mondd,yy

8-hh:mi:ss

9Default--monddyyyy

hh:mi:ss:mmmAM(or)

10USAmm-dd-yy

11JAPANyy/mm/dd

12ISOyymmdd

13EuropeDefault--ddmonyyyy

hh:mi:ss:mmm(24h)

14-hh:mi:ss:mmm(24h)

类型0,9,和13总是返回四位的年。对其它类型,要显示世纪,把style值加上100。类型13和14返回24小时时钟的时间。类型0,7,和13返回的月份用三位字符表示(用Nov代表November)

对表111中所列的每一种格式,你可以把类型值加上100来显示有世纪的年(例如,00年将显示为2000年)。例如,要按日本标准显示日期,包括世纪,你应使用如下的语句:

SELECTCONVERT(VARCHAR(30),GETDATE(),111)

在这个例子中,函数CONVERT()把日期格式进行转换,显示为1997/11/30

以上就是关于SQL中如何将数字型转换为日期型全部的内容,包括:SQL中如何将数字型转换为日期型、sql日期类型转换、SQL 日期格式转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9838012.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存