EAS 开发中,序时簿上,对某一字段的排序出现混乱的异常分析


问题描述:如下图所示,点击表头时,无法正确排序。

解决思路:不是query的问题,是个数据问题,查询数据后发现,新增的这个字段,有值为0,值为1,和值为null这三种情况。再查sql发现,果然:

//认购管理 是否特殊折扣申请
If not exists (select 1 from KSQL_USERCOLUMNS where KSQL_COL_NAME ='CFSpecialZk' and KSQL_COL_TABNAME='T_SHE_PurchaseManage')
alter table  T_SHE_PurchaseManage add CFSpecialZk int;

 

由小到大排序时 0<1<null

 

所以应该把这个字段改为非空字段。。

方法一:操作sql

1)alter table  T_SHE_PurchaseManage add CFSpecialZk1 int DEFAULT 0 NOT NULL;  // 新增一个非空字段  CFSpecialZk1

2)update T_SHE_PurchaseManage  set CFSpecialZk1  = CFSpecialZk where CFSpecialZk is not null;  //赋值

3)alter table T_SHE_PurchaseManage drop column CFSpecialZk1; // 把原字段drop掉

 

4)alter table  T_SHE_PurchaseManage add CFSpecialZk int DEFAULT 0 NOT NULL;  // 把原来的字段加上非空

5)update T_SHE_PurchaseManage set CFSpecialZk = CFSpecialZk1;// 把CFSpecialZk1赋值回CFSpecialZk

6)alter table T_SHE_PurchaseManage drop columnCFSpecialZk1;// 把 CFSpecialZk1 drop 掉

 

方法二:直接改变字段为非空

1) update T_SHE_PurchaseManage set CFSpecialZk = 0 where CFSpecialZk is null;  //先把为空的值都赋为0
2) ALTER TABLE T_SHE_PurchaseManage ALTER COLUMN [CFSpecialZk] int not NULL; //再改变非空的属性

 

这样处理,即可。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值