繁体   English   中英

转换时间-T-SQL

[英]Convert Time - T-SQL

我有05:00 AM或5:00 AM或00:05:00 AM或00:5:00 AM或5 AM(小时。...但也可以有分钟或山高

我想将其转换为HH:MM:SS上面的示例以小时为单位,但可能以分钟或秒为单位...

现在,我不知道这是否可行,因为05:00 AM可能是5个小时或5分钟。 有人遇到过这种情况吗? 如果是这样,您如何处理呢?

我想我们可以使用LEN函数来检查它是HOURS还是分钟,所以如果是05:00 AM或5:00 AM,则是分钟,如果是05:00:00 AM或5:00:00 AM,则是小时。

或者我们可以检查“:”出现的次数,并确定是小时,分钟还是秒,然后根据该时间进行转换...

有人有更好的解决方案吗?

谢谢

  1. 投射为日期
  2. 使用格式转换为字符串

以下是上面输入的所有组合的示例。 每个人都返回05:00:00

select convert(varchar(15), cast('05:00 AM' as datetime), 108)
  , convert(varchar(15), cast('5:00 AM' as datetime), 108)
  , convert(varchar(15), cast('00:05:00 AM' as datetime), 108)
  , convert(varchar(15), cast('00:5:00 AM' as datetime), 108)
  , convert(varchar(15), cast('5 AM' as datetime), 108)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM