首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Informix >

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

2012-03-05 
如何使用SQL来去掉表中某一列的共有部分?如如题:有一表num_tab;表中有如下两列:id(primarykey) char[],num

如何使用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位?
[解决办法]
实在不行写个存储过程吧,肯定可以实现

热点排行