qlserver 在讲秒和毫秒四舍五入为分钟的同时保留原时间列的年、月、日、时、分,,并避免出现datediff 函数导致溢出的问题
时间: 2024-05-25 10:16:32 浏览: 14
可以通过以下SQL语句实现:
SELECT
DATEADD(minute, DATEDIFF(minute, 0, CONVERT(datetime, ROUND(CONVERT(float, DATEDIFF(millisecond, 0, YourTimeColumn))/60000, 0))), 0) AS RoundedTime,
YEAR(YourTimeColumn) AS Year,
MONTH(YourTimeColumn) AS Month,
DAY(YourTimeColumn) AS Day,
DATEPART(hour, YourTimeColumn) AS Hour,
DATEPART(minute, YourTimeColumn) AS Minute
FROM YourTable
解释一下:
- 首先,我们将原时间列的毫秒四舍五入为分钟,然后转换为datetime类型,这样可以避免出现datediff函数导致的溢出问题。
- 然后,我们使用datediff函数计算出时间差(以分钟为单位),然后将其加到0时0分0秒的datetime值上,得到四舍五入后的时间值。
- 最后,我们使用YEAR、MONTH、DAY、DATEPART等函数分别获取年、月、日、时、分的值,并将其与四舍五入后的时间值一起作为查询结果返回。
注意:这种方法在处理大量数据时可能会比较耗时,因为它需要进行多次函数调用和类型转换。如果性能成为问题,可以考虑使用其他方法来优化查询。
相关问题
excel 在将秒和毫秒四舍五入为分钟的同时保留原时间列的年、月、日、时、分
1. 首先,在原数据表格中新增一列,用于保存四舍五入后的分钟数,命名为“分钟数”。
2. 在“分钟数”列的第一行中,输入以下公式:
=ROUND(A2/60000,0)
其中,A2为原数据表格中的时间列,表示将时间列中的数值转换成分钟,并进行四舍五入。
3. 将公式应用到“分钟数”列的所有单元格中,方法是将鼠标移到“分钟数”列的第一行,然后双击单元格右下角的小黑点。
4. 接下来,新增一列,用于保存转换后的时间,命名为“转换后的时间”。
5. 在“转换后的时间”列的第一行中,输入以下公式:
=DATE(YEAR(A2),MONTH(A2),DAY(A2))+TIME(HOUR(A2),ROUND(MINUTE(A2)/1)*1,0)
其中,A2为原数据表格中的时间列,表示将原时间列中的年、月、日、时、分提取出来,并将分钟数四舍五入为整数后转换成分钟,并且将秒和毫秒设置为0,最终得到转换后的时间。
6. 将公式应用到“转换后的时间”列的所有单元格中,方法是将鼠标移到“转换后的时间”列的第一行,然后双击单元格右下角的小黑点。
7. 最后,可以将原数据表格中的时间列隐藏或删除,只保留“分钟数”和“转换后的时间”两列即可。
excel 在将秒和毫秒四舍五入为分钟的同时保留原时间列的年、月、日、时、分,
可以使用以下公式:
=INT(A2/60/60/24) //获取日期部分
&" "&TEXT(A2,"hh:mm") //获取时间部分
&" "&ROUNDUP(MOD(A2,60)/60/24,2) //将秒和毫秒四舍五入为分钟并保留两位小数
其中,A2为原时间列的单元格。将以上公式应用到需要转换的单元格中即可。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)