IT俱乐部 MsSql SQL Server日期时间格式转化的方式小结

SQL Server日期时间格式转化的方式小结

在SQL server中,可查询日期和时间,常见类型有

  • DATE: 日期格式,格式为’YYYY-MM-DD’ 即年月日,yeer-month-day
  • TIME:时间类型,格式为 ‘HH:MI:SS’。  即时分秒,hour-minute-seconds
  • DATETIME:日期和时间类型,格式为 ‘YYYY-MM-DD HH:MI:SS’。即DATE和TIME结合,中间有空格,末尾新增毫秒(millisecond)。

1.纯数字表示format

--GETDATE()是打印当前时间的函数,包含日期时间,时分秒毫秒
SELECT GETDATE() --2023-10-15 13:44:15.420
-- (1) 纯时间   --134004
SELECT REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':', '');
--(2)纯日期   --20231015
SELECT REPLACE(CONVERT(VARCHAR(8), GETDATE(), 112), ':', '');
--(3)纯日期时间  --20231015134004
SELECT CONVERT(VARCHAR(10), GETDATE(), 112) + REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':', '')

2. CONVERT的使用

CONVERT格式:CONVERT(data_type(length),expression,style)

data_type(length):规定显示的长度,固可以将显示的长度缩短,也可以得到需要的结果。

SELECT CONVERT(varchar(50), GETDATE(), 109);
--Oct 15 2023  2:04:54:123PM
SELECT CONVERT(varchar(11), GETDATE(), 109);
--Oct 15 2023

expression:getdate() 或者自行输入需要处理的时间值。

style: 类型 

id style format region
1 101 mm/dd/yy USA
2 102 yy.mm.dd ANSI
3 103 dd/mm/yy British/French
4 104 dd.mm.yy German
5 105 dd-mm-yy Italian
6 106 dd mon yy
7 107 Mon dd, yy
8 108 hh:mm:ss
9 or 109 mon dd yyyy hh:mi:ss:mmmAM (or PM) Default+millisec
10 110 mm-dd-yy USA
11 111 yy/mm/dd Japan
12 112 yymmdd ISO
13 or 113 dd mon yyyy hh:mi:ss:mmm (24h)
14 114 hh:mi:ss:mmm (24h)
20 or 120 yyyy-mm-dd hh:mi:ss (24h)
21 or 121 yyyy-mm-dd hh:mi:ss.mmm (24h)
126 yyyy-mm-ddThh:mi:ss.mmm (no spaces) ISO8601
130 dd mon yyyy hh:mi:ss:mmmAM Hijiri
131 dd/mm/yy hh:mi:ss:mmmAM Hijiri

示例:

--2023-10-15
SELECT CONVERT(date, GETDATE()) AS Date,
--13:47:52.5130000
SELECT CONVERT(time, GETDATE()) AS Time;
--13:47:52
SELECT CONVERT(varchar(10), GETDATE(), 108);

3.日期与字符串之间的转换

-- 将日期转换为字符串
SELECT CONVERT(VARCHAR, GETDATE(), 120) AS convertedTime;
 
-- 将字符串转换为日期
SELECT CONVERT(DATE, '2022-01-01', 120) AS ConvertedDate;

验证: 

-- 将日期转换为字符串
SELECT CONVERT(VARCHAR, GETDATE(), 120) AS convertedTime into #tt1 
--select...into table,带#是生成一个临时表
go  --go使得前面语句先执行完成,在执行后边语句
select * from #tt1;
SELECT SQL_VARIANT_PROPERTY(convertedTime, 'BaseType') AS DataType
FROM #tt1;
 
drop table #tt1 --使用完临时表,删除掉,节约资源

-- 将字符串转换为日期
SELECT CONVERT(DATE, '2023-10-15', 120) AS ConvertedDate into #tt2;
go
SELECT * FROM #tt2
SELECT SQL_VARIANT_PROPERTY(ConvertedDate, 'BaseType') AS DataType
FROM #tt2;
drop table #tt2 

到此这篇关于SQL Server日期时间格式转化的方式小结的文章就介绍到这了,更多相关SQL Server时间格式转化内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/mssql/10417.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部