标题:判断一个字符串是否在一组字符串中,得如何写代码
只看楼主
自强不西
Rank: 2
等 级:论坛游民
帖 子:125
专家分:22
注 册:2019-3-29
结帖率:68.75%
已结贴  问题点数:20 回复次数:21 
判断一个字符串是否在一组字符串中,得如何写代码
各位老师,近期领导安排了一个字符串的大批量数据判断,如果按alltrim(字符串字段)==标准字符串字段,则程序码太多,有没有办法简化。具体事例如下:
判断字段,是否等于"E2219","A2065","E0249","E5241","A2284",我的程序码为
where alltrim(字符串字段)=="E2219" or alltrim(字符串字段)=="A2065" or alltrim(字符串字段)=="E0249" or alltrim(字符串字段)=="E5241" or alltrim(字符串字段)=="A2284"
这段代码,有没有办法简化,请各位老师指教!
搜索更多相关主题的帖子: 字符串 字段 判断 代码 是否 
2020-12-01 14:29
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:3 
不同的数据,判断方法不一样。上传相关数据!

坚守VFP最后的阵地
2020-12-01 14:45
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:3 
请试一试
inlist(alltrim(字符串字段),"E2219","A2065","E0249","E5241","A2284")
2020-12-01 14:55
自强不西
Rank: 2
等 级:论坛游民
帖 子:125
专家分:22
注 册:2019-3-29
得分:0 
回复 2楼 sdta
gys.rar (434 Bytes)
2020-12-01 15:14
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
表中数据格式与一楼的问题好像不是一会事,请楼主说明到底是什么情况。

坚守VFP最后的阵地
2020-12-01 15:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:3 
s = "E2219,A2065,E0249,E5241,A2284"
SELECT * FROM gys WHERE AT(ALLTRIM(gysbh),s)>0
2020-12-01 16:35
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 4楼 自强不西
是这个意思吗?理解对否?

2020-12-01 17:34
自强不西
Rank: 2
等 级:论坛游民
帖 子:125
专家分:22
注 册:2019-3-29
得分:0 
以下是引用吹水佬在2020-12-1 16:35:38的发言:

s = "E2219,A2065,E0249,E5241,A2284"
SELECT * FROM gys WHERE AT(ALLTRIM(gysbh),s)>0


版主您好!我试了下运行的程序,基本上能解决我的问题,因赋值s的字段过长,系统又出现了“命令中含有不能识别的短语或关键字”,麻烦给看看咋回事。具体s的赋值如下:

s = "W0027、A0141、A0525、A0680、A1254、A1063、A0100、A1197、A1218、A1282、A0038、W0061、A1857、A1978、A1287、M0295、W0308、A0496、A1307、A1201、A7583、A1530、A6360、A0378、Y0423、A0396、Y0188、Y0354、W0102、A0288、W0162、A0197、A0516、A0407、A0948、W0287、A0984、W0110、A6148、A1383、Y0394、A7554、A0066、A1022、M0001、A7648、A2079、A2077、W0093、A1239、A6024、A6172、A6137、A7129、A1842、A6086、A2047、A2134、A0538、A6323、A1232、W0478、A7507、A9937、A9933、Y0401、W0041、S0160、S0312、A2064、A9936、A1178、A9532、A7508、S0695、W0016、A7558、A7674、N0599、A1572、A7556、W0456、A1573、A6132、A7108、A0305、W0148、A7526、A7509、N0453、A7572、A1137、A2273、Y0423、W0128、W0047、W0105、A0613、W0122、A0592、A0139、W0146、H1895、W0112、A1552、W0114、M0312、W0163、W0283、W0056、W0116、A1738、W0066、A1637、A1109、A0520、A0224、A1027、A0985、A1385、A1580、A1728、A1357、A6014、W0064、W0145、A7583、A1183、A0328、A6006、A6095、A1083、A1026、A1680、A1102、W0092、A0101、W0086、W0100、A1594、A5007、A0138、W0095、A1986、A1238、W0077、W0044、A1350"
2020-12-02 08:51
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 8楼 自强不西
TEXT TO s TEXTMERGE NOSHOW PRETEXT 15
    W0027、A0141、A0525、A0680、A1254、A1063、A0100、A1197、A1218、A1282、A0038、W0061、
    A1857、A1978、A1287、M0295、W0308、A0496、A1307、A1201、A7583、A1530、A6360、A0378、
    Y0423、A0396、Y0188、Y0354、W0102、A0288、W0162、A0197、A0516、A0407、A0948、W0287、
    A0984、W0110、A6148、A1383、Y0394、A7554、A0066、A1022、M0001、A7648、A2079、A2077、
    W0093、A1239、A6024、A6172、A6137、A7129、A1842、A6086、A2047、A2134、A0538、A6323、
    A1232、W0478、A7507、A9937、A9933、Y0401、W0041、S0160、S0312、A2064、A9936、A1178、
    A9532、A7508、S0695、W0016、A7558、A7674、N0599、A1572、A7556、W0456、A1573、A6132、
    A7108、A0305、W0148、A7526、A7509、N0453、A7572、A1137、A2273、Y0423、W0128、W0047、
    W0105、A0613、W0122、A0592、A0139、W0146、H1895、W0112、A1552、W0114、M0312、W0163、
    W0283、W0056、W0116、A1738、W0066、A1637、A1109、A0520、A0224、A1027、A0985、A1385、
    A1580、A1728、A1357、A6014、W0064、W0145、A7583、A1183、A0328、A6006、A6095、A1083、
    A1026、A1680、A1102、W0092、A0101、W0086、W0100、A1594、A5007、A0138、W0095、A1986、
    A1238、W0077、W0044、A1350
ENDTEXT
? s
2020-12-02 09:38
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用自强不西在2020-12-2 08:51:36的发言:



版主您好!我试了下运行的程序,基本上能解决我的问题,因赋值s的字段过长,系统又出现了“命令中含有不能识别的短语或关键字”,麻烦给看看咋回事。具体s的赋值如下:

s = "W0027、A0141、A0525、A0680、A1254、A1063、A0100、A1197、A1218、A1282、A0038、W0061、A1857、A1978、A1287、M0295、W0308、A0496、A1307、A1201、A7583、A1530、A6360、A0378、Y0423、A0396、Y0188、Y0354、W0102、A0288、W0162、A0197、A0516、A0407、A0948、W0287、A0984、W0110、A6148、A1383、Y0394、A7554、A0066、A1022、M0001、A7648、A2079、A2077、W0093、A1239、A6024、A6172、A6137、A7129、A1842、A6086、A2047、A2134、A0538、A6323、A1232、W0478、A7507、A9937、A9933、Y0401、W0041、S0160、S0312、A2064、A9936、A1178、A9532、A7508、S0695、W0016、A7558、A7674、N0599、A1572、A7556、W0456、A1573、A6132、A7108、A0305、W0148、A7526、A7509、N0453、A7572、A1137、A2273、Y0423、W0128、W0047、W0105、A0613、W0122、A0592、A0139、W0146、H1895、W0112、A1552、W0114、M0312、W0163、W0283、W0056、W0116、A1738、W0066、A1637、A1109、A0520、A0224、A1027、A0985、A1385、A1580、A1728、A1357、A6014、W0064、W0145、A7583、A1183、A0328、A6006、A6095、A1083、A1026、A1680、A1102、W0092、A0101、W0086、W0100、A1594、A5007、A0138、W0095、A1986、A1238、W0077、W0044、A1350"

为什么要这样赋值,如果数据发生了变化,你又如何处理?

坚守VFP最后的阵地
2020-12-02 12:02



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




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

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