我有两个字段,一个是 int,一个是 ntext。我需要从 int 字段中减去 ntext 字段。我将 Hours_Current 这是 int 字段除以 60。我已经调试了一段时间,可以确认第一个 CAST 正在工作并按预期除以 60。然后我将 nText 字段转换为浮动并从小时中减去时间。数据库中的时间字段有一些条目是数字(我需要),一些条目是文本(不需要)。
SELECT
CAST(SUM(Hours_Current) AS FLOAT)/60 AS 'Current Hours'
CONVERT(FLOAT, CONVERT(VARCHAR(MAX), ObjField)) AS 'Time',
'Time' - 'Current Hours' AS DIFF
我已经尝试了无数种不同的方法来实现这一点。大多数时候我得到“操作数数据类型 varchar 对减法运算符无效”。我的最终目标是在报告中使用它。我还取出了 DIFF 并使用 SSRS 表达式尝试减去这两个字段,我在报告中得到 #Error。
我已经看过这个链接并尝试过,但它似乎不起作用。我在网上看了又看,我发现有几篇文章想谈谈ntext是如何贬值的。不幸的是,我无法更改数据库架构。有任何想法吗?
我也尝试过使用 nvarchar 而不是 varchar。