| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2286 人关注过本帖
标题:如何查找列数据的全部字符
只看楼主 加入收藏
fdqzy
Rank: 1
等 级:新手上路
帖 子:368
专家分:0
注 册:2016-8-15
收藏
得分:0 
以下是引用sdta在2021-7-26 16:42:18的发言:

create cursor b1 (m1 c(3),m2 c(3))
insert into b1 values ("ab","bb")
insert into b1 values ("a","b")
insert into b1 values ("bb","a")
insert into b1 values ("","bb")
insert into b1 values ("bc","")
insert into b1 values ("c","ab")
LOCAL aa[FCOUNT()]
aa = ""
SCAN
    FOR lnj = 1 TO FCOUNT()
        b1 = ALLTRIM(EVALUATE(FIELD(lnj)))
        IF LEN(b1) > 0
            FOR lnk = 1 TO LEN(b1)
                b2 = SUBSTR(b1, lnk, 1)
                IF NOT b2$aa[lnj]
                    aa[lnj] = aa[lnj] + b2
                ENDIF
            ENDFOR
        ENDIF
    ENDFOR
ENDSCAN
LIST MEMORY LIKE aa

谢谢!
    好像版主是统计的所有列,不是单列m1列或m2列?

[此贴子已经被作者于2021-7-26 17:17编辑过]

2021-07-26 17:09
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9803
专家分:26906
注 册:2012-2-5
收藏
得分:0 
以下是引用fdqzy在2021-7-26 17:09:08的发言:


谢谢!
    好像版主是统计的所有列,不是单列m1列或m2列?


坚守VFP最后的阵地
2021-07-26 18:05
fdqzy
Rank: 1
等 级:新手上路
帖 子:368
专家分:0
注 册:2016-8-15
收藏
得分:0 
回复 12楼 sdta
是我看错了,谢谢!
2021-07-26 18:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10541
专家分:42927
注 册:2014-5-20
收藏(1)
得分:0 
如果字符相对固定(假设数据只是小写字母),算法可以简化一下(减法):
程序代码:
create cursor b1 (m1 c(3),m2 c(3))
insert into b1 values ("ab","bb")
insert into b1 values ("ax","b")
insert into b1 values ("bb","a")
insert into b1 values ("z","bb")
insert into b1 values ("bc","")
insert into b1 values ("cy","ab")
cs = "abcdefghijklmnopqrstuvwxyz"
? "m1:", fun("m1")
? "m2:", fun("m2")
RETURN

FUNCTION fun(cf)
    s = cs
    SCAN 
        s  = CHRTRAN(s,ALLTRIM(EVALUATE(cf)),"")
    ENDSCAN
    RETURN CHRTRAN(cs,s,"")
ENDFUNC

2021-07-27 11:41
fdqzy
Rank: 1
等 级:新手上路
帖 子:368
专家分:0
注 册:2016-8-15
收藏
得分:0 
以下是引用吹水佬在2021-7-27 11:41:59的发言:

如果字符相对固定(假设数据只是小写字母),算法可以简化一下(减法):
create cursor b1 (m1 c(3),m2 c(3))
insert into b1 values ("ab","bb")
insert into b1 values ("ax","b")
insert into b1 values ("bb","a")
insert into b1 values ("z","bb")
insert into b1 values ("bc","")
insert into b1 values ("cy","ab")
cs = "abcdefghijklmnopqrstuvwxyz"
? "m1:", fun("m1")
? "m2:", fun("m2")
RETURN

FUNCTION fun(cf)
    s = cs
    SCAN
        s  = CHRTRAN(s,ALLTRIM(EVALUATE(cf)),"")
    ENDSCAN
    RETURN CHRTRAN(cs,s,"")
ENDFUNC

谢谢!
2021-07-27 14:30
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:352
专家分:1152
注 册:2015-10-2
收藏
得分:7 
每个字符占一条记录,纵向放进一个表里,最后 select .. group by ,不相同的字符不就都出来吗?这个方法还可以用到汉字上。但不知是否是要这样的结果。
2021-07-29 01:56
快速回复:如何查找列数据的全部字符
数据加载中...
 
   



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

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