【发布时间】:2022-01-11 21:58:16
【问题描述】:
我正在处理旧数据库,需要将信息从一个数据库解析到另一个数据库,将其解析到新数据库很容易,但首先我需要创建查询以在旧 SQL Server 中转换和转换以下内容数据库:
WorkedHours(NVARCHAR(10)) 是文本格式 07:30
我需要将其转换为小数,即 7.5
我已经四处寻找这个问题的答案,但找不到任何有效的方法,所以我想我会把它放在那里看看你们是否有任何想法。
编辑 - 我应该问的是。尝试将时间转换为小数并将时间转换为小数时,导致从值为 0 的字符转换为 int 时出错的原因是什么?
【问题讨论】:
-
你的十进制值的精度和小数位数是多少?
-
基本上是除法吧?将冒号后面的所有内容除以 60。只需将分子转换为适当的小数位数。
-
超过 1 个示例会有所帮助。值是否始终采用
hh:mm格式?值是否可以超过 99 小时? -
@Larnu ,NVarchar 字段的小时数为 hh:mm,最大小时数为 24
-
您的值是实际的“时间”还是“持续时间”?仔细考虑区别以及您打算如何使用此值。
标签: sql sql-server tsql