标题:如何根据相关条件修改表中字段
只看楼主
v520bhh
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-4
结帖率:0
已结贴  问题点数:20 回复次数:3 
如何根据相关条件修改表中字段
相关字段
字段1: ID 字段2:登记标记 字段3 登记时间 字段4 登记地点
字段举例
字段1:ID=360983150120090121(唯一的)
字段2:登记标记= (22个空格)
字段3:登记时间=086908770887089811CG12530887089808A8101H093C0851086108B8109E08B8092810371037093C105C1167(其中从第一个字开始每四个字代表一个登记时间 共22个登记时间)
字段4:登记地点= 3609831501360983150136098315010000000000000000000036098315013609831501000000000000000000003609831501000000000036098315013609831501000000000000000000000000000000000000000036098315013609831501000000000036098315010000000000
(其中从第一个数字开始每十个数字代表一个登记地点 共22个登记地点)
要达到的目的:   
输入满足条件:查询登记时间是 11CD 11CE 11CF 11CG 这四个登记时间的起始位置(不一定都有,基本上是一个至两个)与登记地点是同样的起始位置并且登记地点是十个零(0000000000)
满足以上条件的记录 需要 更改相应位置的十个零为3609831501 以及 更改登记标记中相对于位置的空格为‘~’
求大师指导
估计要用到存储过程 可是长时间不写代码了 实在写不出了 ,先谢过了 !!!
有规律的 22个空格 22个登记时间 22个登记地点 只不过22个空格是真实的22个空格 22个登记时间是每4个字母算1个登记时间共22个 22个登记地点是每十个数字算一个登记地点   
要求就是登记时间和登记地点的初始位置一样 同时满足登记地点是十个零 登记时间是上面写的那四个条件 满足后只需要修改相应位置登记地点十个零为3609831501 以及修改相应位置标记为 ~
搜索更多相关主题的帖子: 如何 条件 时间 
2012-07-04 17:32
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:10 
这样来用数据库,无语

★★★★★为人民服务★★★★★
2012-07-05 07:57
v520bhh
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-4
得分:0 
回复 2楼 cnfarer
至于怎么样数据库 我也不清楚 是别人已经开放好的 现在要实现这个需求 不知道能否哪位大侠 给出点意见
2012-07-05 08:47
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
得分:10 
同感!这样来用数据库,还真无语!
不过,我不是第一次见到这样用数据库的了!
分析原因,这样来用数据库,多半都是早期的程序员,那时候数据库应用还不广泛,数据都是用文件的方式保存,他们在这方面都练出了很深的道行,如今数据库应用普及了,他们还是把以前的一些编程技巧和编程习惯用到现在的编程中。

楼主,你所提的问题,用update语句,再结合这几个主要函数就可以解决:
       replace()
       substring()
       charindex()
不过,这样解决,效率会低一些。

做自己喜欢的事!
2012-07-05 10:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-372755-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.300474 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved