zoukankan      html  css  js  c++  java
  • 【SQL】How to get First and Last day of a Year – TSQL

    SELECT      DATEADD(YEAR, DATEDIFF(YEAR, 0,
                DATEADD(YEAR, -1, GETDATE())), 0),
                'First Day of Previous Year'
    UNION ALL
    SELECT      DATEADD(MILLISECOND, -3, DATEADD(YEAR,
                DATEDIFF(YEAR, 0, DATEADD(YEAR, -1, GETDATE())) + 1, 0)),
                'Last Day of Previous Year'
    UNION ALL
    SELECT      DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0),
                'First Day of Current Year'
    UNION ALL
    SELECT      DATEADD(MILLISECOND, -3,
                DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0)),
                'Last Day of Current Year'
    UNION ALL
    SELECT      DATEADD(YEAR, DATEDIFF(YEAR, 0,
                DATEADD(YEAR,1,GETDATE())), 0),
                'First Day of Next Year'
    UNION ALL
    SELECT      DATEADD(MILLISECOND, -3,
                DATEADD(YEAR, DATEDIFF(YEAR, 0,
                DATEADD(YEAR, 1, GETDATE())) + 1, 0)),
                'Last Day of Next Year'

    Result Set:

    ———————– ————————–
    2010-01-01 00:00:00.000 First Day of Previous Year
    2010-12-31 23:59:59.997 Last Day of Previous Year
    2011-01-01 00:00:00.000 First Day of Current Year
    2011-12-31 23:59:59.997 Last Day of Current Year
    2012-01-01 00:00:00.000 First Day of Next Year
    2012-12-31 23:59:59.997 Last Day of Next Year

    (6 row(s) affected)

    These can be generalized as:

    – © 2011 – Vishal (http://SqlAndMe.com)

    DECLARE @TRAVELYEARS INT = -1
    SELECT DATEADD(YEAR, DATEDIFF(YEAR, 0, DATEADD(YEAR, @TRAVELYEARS ,GETDATE())), 0), 'First Day of Year'
    UNION ALL
    SELECT DATEADD(MILLISECOND, -3, DATEADD(YEAR, DATEDIFF(YEAR, 0, DATEADD(YEAR, @TRAVELYEARS, GETDATE())) + 1, 0)), 'Last Day of Year'
    
    SET @TRAVELYEARS = 1
    SELECT DATEADD(YEAR, DATEDIFF(YEAR, 0, DATEADD(YEAR, @TRAVELYEARS ,GETDATE())), 0), 'First Day of Year'
    UNION ALL
    SELECT DATEADD(MILLISECOND, -3, DATEADD(YEAR, DATEDIFF(YEAR, 0, DATEADD(YEAR, @TRAVELYEARS, GETDATE())) + 1, 0)), 'Last Day of Year'

    Result Set:

    ———————– ———————-
    2010-01-01 00:00:00.000 First Day of Next Year
    2010-12-31 23:59:59.997 Last Day of Next Year

    (2 row(s) affected)


    ———————– ———————-
    2012-01-01 00:00:00.000 First Day of Next Year
    2012-12-31 23:59:59.997 Last Day of Next Year

    (2 row(s) affected)

    Hope This Helps!

  • 相关阅读:
    Git 分支管理
    Git 保存工作区
    Git 版本控制
    Git 基本命令-详细版本
    Git 初始化配置
    Git 基本概念:分区
    JavaScript 调试
    JavaScript 错误
    JS 判断字符串是否全部为字母
    JS 判断输入字符串是否为数字、字母、下划线组成
  • 原文地址:https://www.cnblogs.com/taoqianbao/p/2835384.html
Copyright © 2011-2022 走看看