主题:请问如何替换同一个字段中的部分内容?
zyy523
[专家分:0] 发布于 2012-04-01 11:12:00
条件:字段condition条件下的内容有1,1,1…… 2,2,2…… 3,3,3…… 4,4,4……
问题:如何将condition下为1的内容改成0-1,为2的内容改成0-5,为3的内容改成comp,为4的内容改成emt_div?
谢谢!
回复列表 (共10个回复)
沙发
liupeisong [专家分:2340] 发布于 2012-04-01 14:07:00
repl all condition with strtra(condition,'4','emt_div')
repl all condition with strtra(condition,'3','comp')
repl all condition with strtra(condition,'2','0_5')
repl all condition with strtra(condition,'1','1_2')
板凳
taifu945 [专家分:240] 发布于 2012-04-01 14:47:00
可以用一条语句解决:
[size=3][color=FF0000]REPLACE ALL Condition WITH IIF('1'$Condition,'0-1',IIF('2'$Condition,'0-5',IIF('3'$Condition,'comp','emt_div')))[/color][/size]
3 楼
liupeisong [专家分:2340] 发布于 2012-04-01 19:04:00
[quote]
可以用一条语句解决:
[size=3][color=FF0000]REPLACE ALL Condition WITH IIF('1'$Condition,'0-1',IIF('2'$Condition,'0-5',IIF('3'$Condition,'comp','emt_div')))[/color][/size][/quote]
这个恐怕不合题意吧,估计楼主是要全部替换,而不是假定这4种只出现一种!
如果只用一句,可以考虑把strtra函数嵌套调用
4 楼
taifu945 [专家分:240] 发布于 2012-04-02 08:00:00
楼上,你可以创建一个模拟表文件试试看,创建文件代码我给你:
CREATE TABLE test (Condition C(7))
FOR I=1 TO 4
FOR J=1 TO INT(RAND()*5+1)
INSERT INTO test VALUES (STR(I,1))
NEXT
NEXT
CANCEL
然后你再用我这条语句看看,是否可以全部替换掉。
用STRTRAN()函数则是在一条记录里含有“1”—“4”的字符需要替换的情况。楼主在标题里写得很清楚—如何替换同一个[color=FF0000][size=4]字段[/size][/color]中的部分内容。一个字段可以有多条记录,每个记录在该字段上的值可能是“1”、“2”、“3”、“4”,或许还有其它值。所以,我这个答案还是正确的。
5 楼
liupeisong [专家分:2340] 发布于 2012-04-02 12:26:00
我理解问题是:任一记录中可以有多个1同时还可能有多个2、3、4什么的
比如:
112221134444444442asd12
6 楼
sdta [专家分:570] 发布于 2012-04-04 14:35:00
情况不明
7 楼
taifu945 [专家分:240] 发布于 2012-04-05 11:26:00
审题有误,呵呵。标题里已经写得比较明确了:同一字段。除非楼主自己写错了。
8 楼
liupeisong [专家分:2340] 发布于 2012-04-05 12:00:00
[quote]审题有误,呵呵。标题里已经写得比较明确了:同一字段。除非楼主自己写错了。[/quote]
你认为楼主的意思就是:
第一条记录为:1
第二条记录为:1
第三条记录为:1…… 2
第四条记录为:2
?
而我的看法是:
楼主仅举了一条记录的例子:
某一条记录为:1,1,1…… 2,2,2…… 3,3,3…… 4,4,4……
这样的形式
9 楼
taifu945 [专家分:240] 发布于 2012-04-05 14:02:00
你还是没看清楚人家的话,人家第一句话就是:[color=FF0000][size=4]字段[/size][/color]condition条件下的内容有... 请你搞清楚字段和记录这两个概念,以及字段和记录之间的关系。
当然,如果他自己也没搞清楚,把记录当成了字段,我也无话可说。
10 楼
lijiaoyand [专家分:50] 发布于 2012-04-10 14:22:00
谢谢指点,有所了解。
SIGNATURE:-------------------------------------------
Nothing is difficult for one who sets his mind to it.
[url=http://www.freerunbox.com/nike-free-run-3-men-c-75.html]nike free run 3[/url] , [url=http://www.freerunbox.com/nike-air-max-2012-men-c-41.html]air max 2012[/url] , [url=http://www.freerunbox.com/nike-lunar-eclipse-2-men-c-76.html]nike lunar eclipse 2[/url]
我来回复