码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 重要的 SQL Server 函数 - 日期函数


    第 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 天!

    往期回顾

    Navicat 被投毒了 | 真相来了!

    盗版引发设备瘫痪

    Navicat 16.1 为OceanBase 社区版

    Navicat 成为信通院数据库创新实验室成员

    Navicat 学术伙伴计划 - 免费教育版申请

    Navicat 技术智库 - 实战演练与各类热门问题解答

    免费试用攻略 | Navciat 16 数据库管理工具

  • 相关阅读:
    ssm基于JSP的游戏虚拟道具交易网站的设计论文
    激活函数作用以及 sigmoid和softmax
    infoNCE损失和互信息的关系
    【css】如何实现自定义滚动悬浮置顶、固定表头
    星光坦途,仗剑九歌——一位专科生的逆袭宝典
    Go 团队发布组织 / 构建 Go module 的官方指南
    C#使用OpenCv(OpenCVSharp)图像轮廓凸包检测与绘制
    java异常 | 处理规范、全局异常、Error处理
    重温Python基础——字符串
    暗物质探测器认知教学VR元宇宙平台打破传统束缚
  • 原文地址:https://blog.csdn.net/weixin_53935287/article/details/126018129
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号