当前位置:网站首页>重要的 SQL Server 函数 - 日期函数
重要的 SQL Server 函数 - 日期函数
2022-07-28 04:16:00 【Navicat中国】
第 3 部分:日期函数
在 IT 行业工作了 20 年之后,我可以确定日期和时间非常难处理。幸运的是,现代关系数据库(例如 SQL Server)为此提供了许多非常有用的函数。在今天的文章中,我们将探索一些最常用的函数。
获取当前日期和时间
每种编程语言都需要一种获取当前日期和/或时间的方法。在 SQL Server 中,有两种方法可以通过 CURRENT_TIMESTAMP 和 GETDATE() 函数获取当前日期和时间。两者都以“YYYY-MM-DD hh:mm:ss.mmm”格式返回当前日期和时间:

那么,为什么要使用这两个函数呢?如你在上面的屏幕截图中所见,GETDATE() 需要括号,而 CURRENT_TIMESTAMP 则不需要括号。这使它非常适合设置审计字段的默认值,例如创建日期和最后修改日期列:

DATEPART
能够获取当前日期和时间是一回事,但是有时你需要解析各个日期部分。这就是 DATEPART() 函数的用处。它返回日期的指定部分作为整数值。这是它的语法:
DATEPART(interval, date)
interval(间隔)参数必须是特定的日期部分或缩写。例如,年可以表示为 year、yyyy 或 、yy 。这是完整列表:
- year, yyyy, yy = 年
- quarter, qq, q = 季
- month, mm, m = 月
- dayofyear, dy, y = 一年中的某一天
- day, dd, d = 一个月中的某一天
- week, ww, wk = 周
- weekday, dw, w = 平日
- hour, hh = 小时
- minute, mi, n = 分
- second, ss, s = 秒
- millisecond, ms = 毫秒
以下查询将当前日期分为日、月和年组成部分:

DATEFROMPARTS
日期或时间函数还可以帮助我们根据不同的数据构建日期。它接受年、月和日作为输入参数,并将它们组合起来以形成一个完整的日期:
DATEFROMPARTS(year, month, day)
以下是一个示例:

DATEADD
在日期上添加日期或时间间隔或从日期中减去日期或时间间隔是最常见的日期操作。在 SQL Server 中,执行此操作的函数是 DATEADD。它接受三个输入参数:要添加的间隔,数量以及将间隔应用到的日期:
DATEADD(interval, number, date)
DATEADD 接受的间隔与 DATEPART 的间隔相同,我们之前已经说过,因此在此不再赘述。取而代之,让我们看一下这个重要函数的几个示例。
我们的第一个示例将今天的日期增加了三个月:

若要减去间隔,只需提供一个负数参数:

DATEDIFF
我们的最后一个函数返回两个日期值之间的差异,以提供的间隔表示(请参见上文,以了解完整的接受值列表):
DATEDIFF(interval, date1, date2)
以下查询返回以月为单位的两个日期之间的差异:

通常将第一个日期视为较早的日期,因此,如果第二个日期参数在第一个日期之前,则 DATEDIFF 结果表示为负值:

总结
在今天的文章中,我们介绍了一些最重要的 SQL Server 日期和时间函数。在下一期(也是最后一期)中,我们将研究其他函数。如果你对 Navicat for SQL Server 感兴趣,可以免费试用 14 天!
往期回顾
边栏推荐
- 【day03】流程控制语句
- [Luogu p4590] garden party (DP set DP)
- 网页源代码查看竟然有这么多方法!你都知道吗?
- 方舟生存进化自建服务器要多少成本?
- 2022-7-27 顾宇佳 学习笔记
- Some personal understandings of openpose
- Glusterfs file is not mounted, permission: R-S
- 功耗:Leakage Power
- Information system project manager (2022) - key content: Project Risk Management (11)
- Construction and use of FTP server and NFS server
猜你喜欢

Information system project manager (2022) - key content: Project Portfolio Management (19)

@Requiredargsconstructor annotation

Iterator function operation of iterator learning

It's amazing. This article completely explains the service interface testing

jdbc使用

【day03】流程控制语句

Regression - linear regression

Detailed explanation of pointer written test questions (C language)

Fedformer MOE module
![[coding and decoding] Huffman coding and decoding based on Matlab GUI [including Matlab source code 1976]](/img/af/27e3794f93166d8ecad9b42dafaf0f.png)
[coding and decoding] Huffman coding and decoding based on Matlab GUI [including Matlab source code 1976]
随机推荐
一名合格的软件测试工程师,应该具备哪些技术能力?
Kotlin——函数
How does MySQL ensure high availability
Information system project manager (2022) - key content: information system integrated testing and management, project management maturity model, quantitative project management (21)
XML file usage and parsing
In the official online CV2 document, check the optional values of OpenCV specific parameters
Detailed explanation of pl/sql parameters ("box model")
2022-7-27 顾宇佳 学习笔记
Power consumption: leakage power
Shanghai Telecom released public computing services and signed the action plan of "Joint Innovation Center for intelligent computing applications" with Huawei and other partners
[untitled]
Skillfully use stack backtracking to help you quickly locate problems
Cookies and session
Chinese Remainder Theorem of X problem
Information system project manager (2022) - key content: Knowledge Management (15)
金仓数据库KingbaseES安全指南--5.2. 数据完整性保护
jdbc使用
[performance optimization methodology series] III. core idea of performance optimization (2)
Istio's Traffic Management API
【无标题】