a very simple question about SQL server7.0 ,and you can get 200.(200

  • 主题发起人 主题发起人 老玉米
  • 开始时间 开始时间

老玉米

Unregistered / Unconfirmed
GUEST, unregistred user!
a very simple question about SQL server7.0 ,and you can get 200.(200分)<br />俺有一个表GFBG,有两个字段:BH与MJ。
想让MJ字段的值随BH的最后一个字节改变。
俺执行了以下语句:
update GFBG
SeT MJ = case when right(BH,1)='G' then '公开'
when right(BH,1)='N' then '内部'
when right(BH,1)='M' then '秘密'
when right(BH,1)='J' then '机密'
end
结果每一行的MJ字段值全变成了'秘密',
原因:俺数据库的第一行的的BH为*****M。
怎么才能逐行的为MJ赋值呢?
 
爽! 您老用的什么数据库? 这样写sql语句真爽! 好羡慕!
 
应该是这样:

update GFBG
SeT MJ =
case when right(rtrim(BH),1)='G' then '公开'
when right(rtrim(BH),1)='N' then '内部'
when right(rtrim(BH),1)='M' then '秘密'
when right(rtrim(BH),1)='J' then '机密'
end

注意使用:rtrim()。
 
这是Local SQL的语法吗?
怎么没见过,
确实爽。
 
老玉米,Charles: 这是什么数据库的sql呀? 介绍一下好吗? 我从来没用过,想学学.
 
问题的标题不是写了吗?-----Sqlserver 7.0 牙!
 
原来如此,我的好好学学了,没想到sql server 7.0变化这么大!

Charles: 你知道网上什么地方有sql server 7.0的教材吗? 是7.0,不是6.5的.
愿以100分相赠.
 
SQL Server 7.0的这种方法我已经试过了,效果很好,
能否介绍一下这方面的书籍及资料?
 
Cakk:
嘿嘿!
跟我的想法一样,我也在找,不过费近心机,一无所货:(
哪位大侠找到了,最好通知一声。 100分无福消受 :(_

BTW: 能否提供几个网络游戏编程的Delphi例子(棋类,牌类)。
类似也可。

别说没有,有证据:Delphi的初学者,喜欢网络编程 :)
<tr>
<td width="100%" bgcolor="#F7F7F7"><font color="#0000A0">
<pre class="text">
<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=165297">
详情请看:</a></font></pre>
</td>
</tr
 
我从来不写游戏,没那个本事,只玩游戏 :-)
 
不一定是你写的,你天天在网上跑,消息肯定比较灵通。
而且你不是有很多藏品吗?帮忙找找看的说。
 
不是没用RTRIM的问题,没有人会吗?
 
我的看法,是因为没有Where 条件,结果自然是全部替换,
放一个代码表DMB放置
DM MC
'G' '公开'
'N' '内部'
'M' '秘密'
'J' '机密'

update GFBG
set MJ =(select mc from dmb where right(MJ,1)=dmb.dm)
 
我的看法,是因为没有Where 条件,结果自然是全部替换,
放一个代码表DMB放置
DM MC
'G' '公开'
'N' '内部'
'M' '秘密'
'J' '机密'

update GFBG
set MJ =(select mc from dmb where right(MJ,1)=dmb.dm)
 
为什么我看资料上说应该这么用呢?
update GFBG SeT MJ = case right(BH,1)
when 'G' then '公开'
when 'N' then '内部'
when 'M' then '秘密'
when 'J' then '机密'
end
 
抱歉,可能我看错了
 
SQL 选择条件时是以Where 或Join 为过滤(匹配)条件
Case 应该属于子句,(不能限制整个数据集...),对吗?
 
自己解决了:
CREATE PROCEDURE [PROCEDURE NAME] AS
UPDATE GFBG
seT bgmj='公开'
from gfbg
where right(RTRIM(GFBH),1)='G'
UPDATE GFBG
seT bgmj='内部'
from gfbg
where right(GFBH,1)='N'
UPDATE GFBG
seT bgmj='秘密'
from gfbg
where right(GFBH,1)='M'
UPDATE GFBG
seT bgmj='机密'
from gfbg
where right(RTRIM(GFBH),1)='J'
 
多人接受答案了。
 
这叫什么呀!你这个存储过程根本没用到update的这种功能,
这么说不就是认为新功能不行?

Charle显然是正确的,RTrim就可以.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
3K
import
I
I
回复
0
查看
3K
import
I
I
回复
0
查看
711
import
I
后退
顶部