暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

玩转SQL你迟早用得上的SQL Server中日期函数用法大全(推荐收藏保存)

PowerBI Home 2021-08-19
676

    hello,大家后!我们在实际工作中编写SQL脚本难免会使用各种日期函数实现时间维度的分析,今天给大家分享些我工作中写SQL 脚本常用到的一些日期函数使用场景,个人感觉基本上常用的都在这了,也欢迎大家留言补充。


1.获取当前系统的时间

    --返回当前系统时间
    select GETDATE()
    返回结果:2021-05-16 22:42:06.383

    2.对日期进行格式化

      select convert(varchar(10),getdate(),120)
      返回结果:2021-05-16

      3.对日期进行截取年月日

        select YEAR(GETDATE())
        select MONTH(GETDATE())
        select DAY(GETDATE())
        也可以使用DATEPART/DATENAME函数来实现这个需求,且这个函数的应用范围更广
        --datename函数
        select datename(weekday,getdate())
        select datename(quarter,getdate())
        select datename(year,getdate())

        4.DATEDIFF函数

          --datediff返回两个时间的差,第1个参数是datepart,是计算两个日期间的差参数,可以是DAY,MONTH,YEAR,
          --第2个参数是start date,第3个参数是end date
          select datediff(day,convert(varchar(10),getdate(),120),'2021-5-20')

          5.DATEADD函数

            --返回指定间隔期间后的日期,例如当前系统时间下返回1个月后的今天的时间
            select dateadd(month,1,getdate())

            6.返回当前日期是本年第几天

              --返回当前日期是本年第几天
              select DATEPART(dayofyear,getdate())

              7.返回当前日期是本年第几周

                select DATEPART(week,getdate())

                8.返回当前日期月份的最后一天

                  select EOMONTH(getdate())

                  9.返回某日期的星期

                    select datename (weekday,GETDATE())

                    10.上月的第1天

                      SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)

                      11.上月的最后1天

                        SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59'

                        12.本月的第1天

                          SELECT CONVERT(CHAR(10),DATEADD(dd,-DAY(GETDATE())+1,GETDATE()),111)


                          文章转载自PowerBI Home,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                          评论