小编典典

SQL Server算术溢出错误将表达式转换为数据类型datetime

sql

我想通过以下方式自定义订单,如果数量为负,则该行必须位于第一位,如果数量为正,我将按ExpDate对其进行排序

SELECT WhsCode,
       ItemCode,
       LotNumber,
       ExpDate,
       Qty
FROM rq_Test2
ORDER BY CASE
             WHEN qty < 0 THEN Qty
             ELSE ExpDate
         END

但是我收到“将表达式转换为数据类型为datetime的算术溢出错误”的错误。为什么?

谢谢 ..


阅读 125

收藏
2021-05-30

共1个答案

小编典典

有两个案例陈述

Select 
      WhsCode,
      ItemCode,
      LotNumber,
      ExpDate,
      Qty 
from rq_Test2 
order by case when qty < 0 then Qty else null end ,
         case when qty > 0 then ExpDate else NULL end
2021-05-30