我有一个字段将进程消耗的秒数存储为 varchar。我正在做一个简单的查询,以使用 SQL Server 中的以下查询查找花费时间最长的行。
select top 1 Cusip from Cusipprocesstime
where
status != 'In Progress' and status is not null
order by cast(status as decimal(18,7)) desc
这里的状态设置为进程消耗的秒数。在进行中,状态设置为“进行中”。
当我运行上述查询时,如果没有“进行中”状态的记录,则查询工作正常。
如果存在状态为“进行中”的记录,则查询失败并显示“将数据类型 varchar 转换为数字时出错。
想知道,有没有一种方法可以仅检索与条件匹配的记录的最高值。