字段里字符串的处理问题

原创 2004年08月05日 20:48:00

原帖地址:

http://community.csdn.net/Expert/topic/3244/3244874.xml?temp=.5755274
表一:MenuTree?
Id??????????????????? context?????????????????
-----------? ---------------------------
1????????????????????? 商场监测系统?
3????????????????????? 综合报表分析?
4????????????????????? 销售月报表?
6????????????????????? ◇销售数据采集?
7????????????????????? ◇监测商场管理?
9????????????????????? ◇监测产品管理?
?
表二:? jslmb?
?
jsbh????? jsmc?????????????????? kgllm????????
------- ------------? -------------------------
1??????? 查询所有数据????????? '1','2','3','4','5'
2??????? 查询西北区数据??????? '1','2','4','5','9'
?
?


如何把删除表二的Kgllm(可管理栏目)字段里的表一不存在的栏目编号剔除
?
例如:
表一的IdZ字段:"2"和"5"值已不存在了。

我要把表二的kgllm字段里的"2"和"5"值剔除掉,其它值如"1"、"3"等值要保留

--------------------------------------------------------------------------------------

--测试数据
create table MenuTree(id int,context varchar(20))
insert MenuTree select 1,'商场监测系统'
union? all????? select 3,'综合报表分析'
union? all????? select 4,'销售月报表'
union? all????? select 6,'◇销售数据采集'
union? all????? select 7,'◇监测商场管理'
union? all????? select 9,'◇监测产品管理'

create table jslmb(jsbh int,jsmc varchar(20),kgllm varchar(8000))
insert jslmb select 1,'查询所有数据'? ,'''1'',''2'',''3'',''4'',''5'''
union? all?? select 2,'查询西北区数据','''1'',''2'',''4'',''5'',''9'''
go

--创建一个辅助处理数据的表(这里的8000根据你的 kgllm 的大小确定,如果你的 kgllm 长度是1000,就改为1000)
select top 8000 id=identity(int,1,1) into 序数表
from syscolumns a,syscolumns b
alter table 序数表 add constraint pk_id_序数表 primary key(id)
go

--更新处理
select a.jsbh,kgllm=substring(a.kgllm,b.id,charindex(',',a.kgllm+',',b.id)-b.id)
?,re=cast('' as varchar(8000))
into #t
from jslmb a,序数表 b,MenuTree c
where b.id<=len(a.kgllm)
?and substring(','+a.kgllm,b.id,1)=','
?and stuff(substring(a.kgllm,b.id,charindex(',',a.kgllm+',',b.id)-b.id-1),1,1,'')
??=c.id
order by a.jsbh

declare @jsbh int,@re varchar(8000)
update #t set @re=case @jsbh when jsbh then @re+','+kgllm else kgllm end
?,re=@re,@jsbh=jsbh

update a set kgllm=b.re
from jslmb a,(
?select jsbh,re=max(re) from #t group by jsbh
)b where a.jsbh=b.jsbh

drop table #t

--显示更新结果
select * from jslmb
go

--删除测试数据
drop table MenuTree,jslmb
drop table 序数表

/*--测试结果

jsbh??????? jsmc???????????????? kgllm??????????
----------- -------------------- ----------------
1?????????? 查询所有数据?????????? '1','3','4'
2?????????? 查询西北区数据???????? '1','4','9'

(所影响的行数为 2 行)
--*/

字符串处理问题

/*================== 字符串的处理函数 2013-08-21 By Mei ====================*/ #include #include #include...
  • mjlbleak
  • mjlbleak
  • 2013年08月21日 22:06
  • 358

2Char(字符串处理问题)

A. 2Char time limit per test 2 seconds memory limit per test 256 megabytes input s...
  • zsc2014030403015
  • zsc2014030403015
  • 2015年11月05日 11:28
  • 252

Windows中的宽字符串处理问题

在用VC做开发的时候,对于一些字符串,会经常调用一般_t、_T、T(),其实这些东西都和Unicode有关系。比如说,AfxMessageBox(_T("Error! Fail to connect ...
  • u011000290
  • u011000290
  • 2015年08月30日 11:52
  • 854

经典字符串处理问题

字符串的搜索,匹配,查找,压缩,编码/解码,是一类非常常见的问题。 (1) 压缩一个字符串当中的空格,例如把" I  like   csdn    "压缩成"I like csdn"。注意,单词之间的...
  • lindan_40
  • lindan_40
  • 2013年10月25日 23:14
  • 463

Gson对字符串null的字段转换为空字符串输出

将java bean转换为json字符串输出,变得越来越普遍。目前使用的阿里的fastjson,谷歌的gson等。个人感觉gson使用比较简单,所以就选择了gson。 但是如果后端有字段为null,使...
  • kuailebuzhidao
  • kuailebuzhidao
  • 2017年03月13日 23:04
  • 2493

关于去除json字符串中不要的数据

最近在毕业设计中涉及到了java对象转json字符串,但是往往有些属性我们是不需要的,如果,对象属性懒加载的话往往会在这个地方报错,该如何去过滤掉那些不要的属性,json的包里面为我们提供了jsonc...
  • donggua3694857
  • donggua3694857
  • 2016年05月09日 09:15
  • 3709

ios中,判断json,数据库等方式获取的字符串,是null的时候怎么判断

开发过程中,我们通过http请求,后台返回json数据,而有时数据里某一字段的值为null~,然后我们把此值赋值给NSArray,NSdictionary,或是NSString,然后我们会判断此值为n...
  • yxqyrh
  • yxqyrh
  • 2013年11月11日 16:35
  • 1723

支持截取带HTML代码样式的字符串

package me.jeff.util; import java.util.ArrayList; import java.util.List; import java.util.regex.Matc...
  • qq_24919679
  • qq_24919679
  • 2017年01月13日 09:40
  • 1144

mysql 拼接字符串,和删除某个字段找中的 某个字符串

基础数据:    拼接:concat() ##拼接字符串 update z_test set test = CONCAT("前面添加字符串",test,"中间添加字符串",test,"后面添加字符串...
  • qq_37107280
  • qq_37107280
  • 2017年06月23日 14:39
  • 1496

一道特殊的回文字符串处理问题

.特殊之处在于: 1.仅考虑字母的回文,而输出保留字符串中的非字母字符 2.大小写均视为相等。 举例说明:He says: Madam! I'm Adam! 输出将为——Madam! I'm ...
  • u011497904
  • u011497904
  • 2014年12月30日 23:01
  • 274
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字段里字符串的处理问题
举报原因:
原因补充:

(最多只允许输入30个字)