项目情景:
本来项目好好的,有一天客户从别的系统导入了数据,导致系统异常,按照常规的操作,当然是把异常打印出来

发现SQL异常了,按套路走起,检查数据

问题找到了,解决就好办了,就是使用子查询条件判断
SELECT
托盘号,
托盘名称
FROM
(
SELECT
(
CASE SUBSTRING (pallet_no, 1, 2)
WHEN 'ZB' THEN
SUBSTRING (pallet_no, 3, len(pallet_no))
ELSE
pallet_no
END
) AS 托盘号数字,
pallet_no AS 托盘号,
pallet_name AS 托盘名称
FROM
BASE012M (nolock)
) M
WHERE
CONVERT (
FLOAT,
ISNULL(托盘号数字, 0)
) >= '717'
AND CONVERT (
FLOAT,
ISNULL(托盘号数字, 0)
) <= '10086'



本文描述了一个项目中因客户导入数据导致的系统异常情况。通过排查,发现SQL执行异常,最终通过子查询条件判断的方式解决了问题。具体解决方案为使用CASE SUBSTRING和CONVERT函数对数据进行处理,确保SQL语句正确执行。
1889

被折叠的 条评论
为什么被折叠?



