当前位置: 代码迷 >> Informix >> 怎么使用SQL来去掉表中某一列的共有部分
  详细解决方案

怎么使用SQL来去掉表中某一列的共有部分

热度:2479   发布时间:2013-02-26 00:00:00.0
如何使用SQL来去掉表中某一列的共有部分?
如如题:
有一表num_tab;表中有如下两列:
id(primarykey) char[], number char[];
现由于number中每列都是如下结构'0250258765****',除了前面的部分,后面*表示的每个记录都不同。
意愿是把此列改为'0258765****',即把前面的025025变成025;

据说要设置变量,然后用
SQL code
update num_tab set number='~~~~' where number like '025025%'


请教如何实现此操作。3x
分不够明天再加100

------解决方案--------------------------------------------------------
不知道你的数据库是否支持MID、SUBSTR、REPLACE之类的函数,自行修改一下MID、REPLACE函数
update num_tab set number='025'+mid(number,7,8) where number like '025025%'
OR
update num_tab set number=REPLACE(number,'025025','025') where number like '025025%'
------解决方案--------------------------------------------------------
帖主不会只有025025替换为025这一种数据样式吧。

如果有很多样式,是只对比前6位中的前3位和后3位?
------解决方案--------------------------------------------------------
实在不行写个存储过程吧,肯定可以实现
  相关解决方案