标签归档:DATEADD

mssql sqlserver时间戳与时间格式互相转换的方法分享


摘要:
下文讲述mssql中时间戳和时间格式的转换方法,如下所示:
实验环境:sql server 2008 R2



时间戳简介:

时间戳是linux下一种表示时间的方式。
时间戳是从 从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
时间戳被广泛用于各种操作系统中。

时间戳转换为时间格式的方法:
使用dateadd时间函数,将9170-1-1 0:00:00加上时间戳所对应的秒数,就是时间戳所表示的时间

例:

  declare @shiJianChuo bigint
set @shiJianChuo =1499971323

select DATEADD(second,@shiJianChuo,'1970-1-1 0:00:00') 
mssql_sqlserver_时间戳转时间格式方法mssql_sqlserver_时间戳转时间格式方法

mssql_sqlserver_时间戳转时间格式方法

mssql sqlserver 返回两个日期之间所有年份的方法分享


摘要:
下文讲述返回两个日期之间所有年份的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
第一种方法,使用while循环生成年份列表
第二种方法,借助外界一张拥有”连续编号的基础表”生成年份列表,如下所示:


    ---例:计算2009-1-1 至 2013-10-1之间的所有年份
    ---方法1:使用while遍历两个日期之间的年份记录
    create table [maomao365.com](yearInfo int)
     go
      declare @t datetime
      set @t ='2009-1-1'
       insert into  [maomao365.com](yearInfo) value(year(@t))
        
      while @t<'2013-10-1'
       begin 
          set @t = dated(year,1,@t)
          insert into  [maomao365.com](yearInfo) value(year(@t))
       end
   
      go
      select yearInfo from [maomao365.com]
     go
     truncate table [maomao365.com]
     drop      table [maomao365.com]
     go
    
     
   ---方法2:借助系统表 master..spt_values中的连续记录,生成连续年份的方法
      select 
         year(dateadd(year,number,'2009-01-01')) as [年份]
     from master..spt_values 
     where   
     dateadd(year,number,'2009-01-01') < '2013-10-1'
     and type='p'

mssql sqlserver 如何使用SQL将用户自定义日期添加1天?


摘要:
下文将分享使用sql脚本对用户自定义日期添加一天的方法分享,如下所示:
实验环境:sql server 2008 R2


实现思路:
文中使用dateAdd函数对指定日期进行加一天,如下:

   declare @maomao datetime  ---自定义日期
   set @maomao ='2019-8-8'
   SELECT  CONVERT(VARCHAR(8), DATEADD(DAY, 1, @maomao), 112) 


注意事项:
文中主要采用dateadd函数生成一个新的日期,然后使用convert转换日期为字符串后输出信息