【问题标题】:Get the 2 digit year in T-SQL获取 T-SQL 中的 2 位数年份
【发布时间】:2011-04-12 02:33:56
【问题描述】:

我需要获取当前的 2 位数年份并加一。所以我正在寻找的当前数字应该是 11。

可能真的很简单,但我是一个 sql 菜鸟 :)

谢谢

【问题讨论】:

  • 2099年你想要什么结果? ;)
  • 我想退休,不在乎:)
  • 这道题的题目应该是“得到2位数的年份+1”:)

标签: sql sql-server date


【解决方案1】:

你可以( YEAR( GETDATE() ) % 100 ) + 1

GETDATE & YEAR

【讨论】:

  • 如果您希望 xx99 产生 0 而不是 100,请在 % 100 之前执行 + 1
【解决方案2】:

这对你有用

select Right(Year(getDate())+ 1,2)

【讨论】:

    【解决方案3】:

    对于 SQL Server 2012 及更高版本,我建议使用FORMAT(@DATE, 'yy')

    SELECT FORMAT(DATEADD(year, 1, GETDATE()), 'yy')
    

    Format 提供了一个更简洁、更易读的解决方案。因此,更少的猜测和更好的可维护性。

    【讨论】:

      【解决方案4】:
      SELECT RIGHT(CONVERT(VARCHAR(8), GETDATE(), 1),2) as YEAR
      

      【讨论】:

        【解决方案5】:

        你可以在sql server中试试这个

        SELECT FORMAT(GETDATE(), 'yy')
        

        【讨论】:

          【解决方案6】:

          如果你总是要使用 GetDate() 为什么不这样做:

          Select (Year(GetDate()) - 2000) + 1
          

          该死的人。总是把事情弄得那么复杂。不是说你要再活 1000 年!

          【讨论】:

            【解决方案7】:
            select CAST( DAY(GETDATE()) as varchar(10))+'/'+CAST( month(GETDATE()) as varchar(10))+'/' +cast(right(year(getDate()),2) as varchar)
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2021-02-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多