我需要一个 SQL 函数来计算年龄。它必须准确并涵盖所有极端情况。
由于是婴儿病房,所以30分钟是很常见的情况。
我查看了其他答案,但找不到处理所有情况的答案。
例如:
- 宝宝出生于2014-04-29 12:59:00.000。
- 现在是 2014-04-29 13:10:23.000,
年龄应为 0 年、0 月、0 天、0 小时、11分钟
如果有人能够提供该函数的最终版本,那就太好了。
(恐怕就这么简单DateDiff 的解决方案还不够好。正如一篇更流行的文章中所说问题:“Datediff 函数不能很好地处理年份边界......”
此查询将为您提供以分钟为单位的日期差异,
select datediff(mi, '2014-04-23 05:23:59.660',getdate())
然后你可以简单地计算minutes/60
for hours
and minutes mod 60
for minutes
select datediff(mi, '2014-04-23 05:23:59.660',getdate())/60 as [Hours], select datediff(mi, '2014-04-23 05:23:59.660',getdate()) % 60 as [Minutes]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)