SQLServer日期转换汇总

SQLServer日期转换汇总

常用SQLServer数据库日期转换处理函数使用说明书

编程工具 数据库 数据库日期处理

 

SQLServer日期转换汇总

常用SQLServer数据库日期转换处理函数使用说明书

SQL Server是由美国Microsoft公司开发的,一种关系型数据库系统,它现在已经成为全世界主流的数据库之一。该数据库具备方便使用、可伸缩性好、相关软件集成程度高等优势,能够从单一的笔记本上运行或以高倍云服务器集群为基础,或在这两者之间任何东西上运行。尽管SQL Server的可运行范围广泛,但需要考虑有关的软件和硬件配置。

SQL Server应用集成化的商务智能(BI)专用工具提供了企业级的数据管理服务。Microsoft SQL Server数据库引擎为关系型数据和结构化数据提供了更可靠安全的存储功能,使用户能够搭建和管理用于业务流程的高可用性和性能卓越的程序。自1989年SQL Server 1.0公布以来,SQL Server已逐渐发展成为一个企业级的信息化平台和数据管理及商务智能服务平台,提供企业级的高可用性和安全性。

SQL Server是基于客户端/服务器模式(C/S模式)的大型关系型数据库管理系统。此外,SQL Server还有一些特定的数据库,如master、model、msdb、tempdb和distribution,它们各自承担着不同的任务,如控制数据库的运行、为新创建的数据库提供模板、为SQL Server Agent调度信息和作业记录提供存储空间、为临时表和临时存储过程提供存储空间,以及在复制操作时产生,用来存储快照等发布信息。

DATEADD()

说明:在日期中添加或减去指定的时间间隔。

语法:

DATEADD(datepart,number,date)

参数:

(1)date 参数是合法的日期表达式,类型可以是datetime、smalldatetime、char。

(2)number 是您希望添加的间隔数,最好是整数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

(3)datepart 参数可以是下面表格的值。

datepart

年份(year)yy , yyyy , year

季度(quarter)qq , q , quarter

月份(month)mm , m , month

年中的日(day of year)dy, y

日(day)dd , d , day

周(week)wk , ww , week

星期(weekday)dw, w

小时(hour)hh , hour

分钟(minute)mi , n , minute

秒(second)ss , s , second

毫秒(millisecondms

微秒(microsecond)mcs

纳秒(nanosecond)ns

实现秒加减

--减100秒

SELECT DATEADD(ss,-100,'2020-09-03')--2020-09-02 23:58:20.000

SELECT DATEADD(s,-100,'2020-09-03')--2020-09-02 23:58:20.000

SELECT DATEADD(second,-100,'2020-09-03')--2020-09-02 23:58:20.000

--加100秒

SELECT DATEADD(ss,100,'2020-09-03')--2020-09-03 00:01:40.000

SELECT DATEADD(s,100,'2020-09-03')--2020-09-03 00:01:40.000

SELECT DATEADD(second,100,'2020-09-03')--2020-09-03 00:01:40.000

实现分钟加减

--减1分钟

SELECT DATEADD(mi,-1,'2020-09-03')--2020-09-02 23:59:00.000

SELECT DATEADD(n,-1,'2020-09-03')--2020-09-02 23:59:00.000

SELECT DATEADD(minute,-1,'2020-09-03')--2020-09-02 23:59:00.000

--加1分钟

SELECT DATEADD(mi,1,'2020-09-03')--2020-09-03 00:01:00.000

SELECT DATEADD(n,1,'2020-09-03')--2020-09-03 00:01:00.000

SELECT DATEADD(minute,1,'2020-09-03')--2020-09-03 00:01:00.000

实现小时加减

--减1小时

SELECT DATEADD(hh,-1,'2020-09-03')--2020-09-02 23:00:00.000

SELECT DATEADD(hour,-1,'2020-09-03')--2020-09-02 23:00:00.000

--加1小时

SELECT DATEADD(hh,1,'2020-09-03')--2020-09-03 01:00:00.000

SELECT DATEADD(hour,1,'2020-09-03')--2020-09-03 01:00:00.000

实现日加减

--减1天

SELECT DATEADD(dd,-1,'2020-09-03')--2020-09-02 00:00:00.000

SELECT DATEADD(d,-1,'2020-09-03')--2020-09-02 00:00:00.000

SELECT DATEADD(day,-1,'2020-09-03')--2020-09-02 00:00:00.000

--加1天

SELECT DATEADD(dd,1,'2020-09-03')--2020-09-04 00:00:00.000

SELECT DATEADD(d,1,'2020-09-03')--2020-09-04 00:00:00.000

SELECT DATEADD(day,1,'2020-09-03')--2020-09-04 00:00:00.000

实现周加减

-- 2020-09-03星期四

--减1周

SELECT DATEADD(ww,-1,'2020-09-03')--2020-08-27 00:00:00.000星期四

SELECT DATEADD(wk,-1,'2020-09-03')--2020-08-27 00:00:00.000星期四

SELECT DATEADD(week,-1,'2020-09-03')--2020-08-27 00:00:00.000星期四

--加1周

SELECT DATEADD(ww,1,'2020-09-03')--2020-09-10 00:00:00.000星期四

SELECT DATEADD(ww,1,'2020-09-03')--2020-09-10 00:00:00.000星期四

SELECT DATEADD(ww,1,'2020-09-03')--2020-09-10 00:00:00.000星期四

实现月份加减

--减1月

SELECT DATEADD(m,-1,'2020-09-03')--2020-08-03 00:00:00.000

SELECT DATEADD(mm,-1,'2020-09-03')--2020-08-03 00:00:00.000

SELECT DATEADD(month,-1,'2020-09-03')--2020-08-03 00:00:00.000

--加1月

SELECT DATEADD(m,1,'2020-09-03')--2020-09-03 00:00:00.000

SELECT DATEADD(mm,1,'2020-09-03')--2020-09-03 00:00:00.000

SELECT DATEADD(month,1,'2020-09-03')--2020-09-03 00:00:00.000

实现季度加减

--减1季度

SELECT DATEADD(q,-1,'2020-09-03')--2020-06-03 00:00:00.000

SELECT DATEADD(qq,-1,'2020-09-03')--2020-06-03 00:00:00.000

SELECT DATEADD(quarter,-1,'2020-09-03')--2020-06-03 00:00:00.000

--加1季度

SELECT DATEADD(q,1,'2020-09-03')--2020-12-03 00:00:00.000

SELECT DATEADD(qq,1,'2020-09-03')--2020-12-03 00:00:00.000

SELECT DATEADD(quarter,1,'2020-09-03')--2020-12-03 00:00:00.000

实现年份加减

--减1年

SELECT DATEADD(yy,-1,'2020-09-03')--2019-09-03 00:00:00.000

SELECT DATEADD(yyyy,-1,'2020-09-03')--2019-09-03 00:00:00.000

SELECT DATEADD(year,-1,'2020-09-03')--2019-09-03 00:00:00.000

--加1年

SELECT DATEADD(yy,1,'2020-09-03')--2021-09-03 00:00:00.000

SELECT DATEADD(yyyy,1,'2020-09-03')--2021-09-03 00:00:00.000

SELECT DATEADD(year,1,'2020-09-03')--2021-09-03 00:00:00.000

convert函数作用:

1、把日期转换为新数据类型

2、用不同的格式显示日期/时间数据

以下是通过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(), 130): 18 ??? ??? 1427 10:57:49:907AM

Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

编程工具 数据库 数据库日期处理