MSSQL 整数转换为时间的技巧(mssql 整数转换时间)
SQL Server中时间通常会以整数或其他格式存储在数据库中,这个整数通常来自于 Windows 操作系统的以下两个函数:
1、 DateDiff函数: 该函数计算两个指定日期之间的时间差。语法:DATEDIFF(interval,datepart,startdate,enddate)
2、 Getdate函数: 该函数返回当前的日期和时间。语法:GETDATE()
以上两个函数可以使用起来来将SQL Server中的整数转换为时间
1、 使用 DateDiff 函数:
使用 DateDiff 函数的方式很简单,只要将要转换的整数按照固定的规则换算成距离1970年1月1日的天数,然后将得到的天数填入 DateDiff 函数第三个参数,前两个参数(interval,datepart)设为:interval 为day,datepart 为0,然后将当前的时间参数第四个参数作为第二个参数输入即可得到从1970年1月1日到当前时间的天数。
例如,要将SQL Server中的整数 20198 转换为时间,
应该先将20198 和 1970年1月1日相比,得出20198比 1970年1月1日多 19737 天,
那么,将这19737 填入 DateDiff 函数第三个参数,将当前时间作为第四个参数,并将interval,datepart分别设为:interval 为day,datepart 为0,运行如下语句即可将整数 20198 转换为时间:
“`sql
SELECT DATEDIFF(day, 0, GETDATE()) + 19737
2、 使用DATEADD函数:
使用DATEADD函数可以将整数转换为时间,使用方法需要将该整数与1970年1月1日相比,得出和1970年1月1日的时间差,再使用DATEADD函数将1970年1月1日和这个时间差相加。例如,要将SQL Server中的整数 20198 转换成时间,需要将20198 比1970年1月1日多 19737 天,那么执行如下语句可以将整数 20198 转换成时间:
```sqlSELECT DATEADD(day, 19737, '1970-01-01')
上述两种方法都可以实现整数转换为时间的技巧,在实际应用中我们可以根据自身的实际情况选择最合适的整数转换技巧。