
平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:
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 日期格式转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)