【发布时间】:2021-06-04 13:17:18
【问题描述】:
我遇到decimal(4,2) 时间值需要转换为time() 的情况。
如果它看起来是唯一的,十进制时间值 14.25 应该是 14:25,而不是 14:15。
我无法更改 CRM 中的数据,因此必须在 SQL Server 中进行所有转换,理想情况下作为表设计器中的计算列规范,但如果只能在 SELECT 语句中实现。
以下是一些示例:
| Source Data | Needed Result |
|---|---|
| 14.25 | 14:25 |
| 8.09 | 08:09 |
| 10.10 | 10:10 |
非常感谢您的阅读。
【问题讨论】:
-
如何处理像 93.67 这样的值?
-
源数据按照惯例是 HH.MM ?
-
您要转换的是小数的字符串表示形式,而不是小数本身。所以需要转换成字符串,替换小数点分隔符,再转换成时间。并希望没有无效值。
-
我认为普通替换不是您需要的?
标签: sql sql-server database tsql