用户登录
用户注册

分享至

hibernate 无效数字

  • 作者: susu64616109
  • 来源: 51数据库
  • 2020-10-06
select sum(case
when xssk_sklxid in (007, 008, 009, 010) then
(-1) * xssk_skje
else
xssk_skje
end) as skje
from xssk;
select sum(case
when xssk_sklxid in (007, 008, 009, 010) then
-xssk_skje
else
xssk_skje
end) as skje
from xssk;

用这个两个方法都可以



  1. 对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作;

2. 两个类型不匹配的值进行比较操作(例如,“=”);

3. to_number函数中的值,非数字的,比如,to_number('a')肯定是不行的,
4. to_number('12306')则是正常的。
5. 要避免这些问题,要做到在写sql语句时就好认真处理好不同类型的问题。

6. 比如如果要比较的话,同时都用to_number强制转换(to_number(字段a) = to_number(字段b)。

7. 或者同时转换为字符串类型。
8. 在语句中使用to_number函数时,要保证值一定是数字格式,或者写好异常处理。
9. 当我们碰到这个错误提示时,就从所有用到的数字类型的字段开始检查,逐一排查,从而解决问题。
软件
前端设计
程序设计
Java相关