sql-server - 将日期时间从 12 小时格式转换为 24 小时格式
问题描述
给定以下数据:
+--------------------------+--------------------------+
| Started | Ended |
+--------------------------+--------------------------+
| 2020-06-08 01:09:46.000 | 2020-06-08 01:29:51.000 |
| 2020-06-09 12:55:40.000 | 2020-06-09 01:28:33.000 |
| 2020-06-10 12:59:30.000 | 2020-06-10 01:24:37.000 |
+--------------------------+--------------------------+
我需要将这些转换为 24 小时格式。我的最终目标是获得这两个值之间的时间差(以分钟为单位),但它是 12 小时格式的事实阻碍了我的努力。
不幸的是,它们是有效值,datetime
因此对这些值运行CONVERT
或CAST
命令不会做任何事情。
那么如何将这些值转换为 24 小时格式呢?
我已经查看了在 sql server 中将 12 小时格式转换为 24 小时格式的答案
还是不知所措。
提前致谢!
解决方案
无需转换日期时间即可获得分钟差
利用 DATEDIFF 函数获取两个日期之间的净分钟差。
使用模数函数,删除归因于日差的分钟。
在下面的示例中,有 6 小时的差异(6 小时 * 60 分钟/小时)= 360 分钟的差异。
--need some sample data
with smple AS ( SELECT
getdate() AS start_dt,
dateadd(day, 1, dateadd(hour, 6, getdate())) AS end_dt)
--end sample data
SELECT
start_dt,
end_dt,
datediff(minute, start_dt, end_dt) %1440 as Min_Diff
FROM smple;
结果集:
推荐阅读
- ruby-on-rails - 如何使用 xhr 在 rspec 中发布带有“params”键的 JSON?
- cordova - 打开层 4.5 点击/触摸一个点(Android 设备)
- python - 无法根据字符串获取特定行
- javascript - 防止滚动模态框内容时滚动背景 div
- python-3.x - NameError:名称“合并”未定义
- angular - 无法绑定到 mat-table 中的数据
- java - 设置请求参数的大小限制
- python - Python,检查字符串的值并删除其他字符
- python - 为从 init 方法分配的类函数起别名
- java - 解析响应 xml 并计算 CDATA 中的 XML 元素