mssql sqlserver 日期时间存储精确到秒的方法


摘要:
下文分享sqlserver中将日期时间类型存储时,精确到秒后面的毫秒变为000的方法分享,如下所示:
实验环境:sql server 2008 R2


在sqlserver数据库中,当我们datetime类型对日期时间进行存储时,将会精确到秒后面的三位,
当我们使用samlldatetime存储,将会精确到分,也无法达到精确到秒的数据类型,
那么当我们需精确到秒的数据,我们只能采用datetime类型对数据进行存储,并在存储前将毫秒位置为000
如下所示:

     ---实现思路:
     ---方法1:
      ---对datetime类型的数据进行赋值的时,采用varchar(19)对数据进行截取,并且必须保证月、日、时、分、秒都占用两位长度,年份占用四位长度
     declare @maomao datetime 
     set @maomao = CONVERT(varchar(19),'2018-01-31 12:23:23.908', 20)
 
     select @maomao  as [剔除毫秒]
   
     ---方法2:
       --程序代码对日期赋值时,直接将后面的毫秒剔除掉
       DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))