标题:各位大佬们,请问foxpro中怎么区分数值型字段中的空白和0? 多谢
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
可以试试NVL()

坚守VFP最后的阵地
2020-04-21 15:04
knightlb
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-4-21
得分:0 
回复 11楼 sdta
NVL()函数试过了,也是不好使,这个应该是该字段为null的时候才会走判断,数值型字段内容为空白的时候并不是null。一直没理解为什么isblank()在sql语句中返回的结果不对,感觉这个应该是可以的
2020-04-22 11:14
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
得分:0 
回复 12楼 knightlb
COPY TO a FOR isblank(cj)

piu~piu~
2020-04-23 00:02
knightlb
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-4-21
得分:0 
回复 12楼 knightlb
多谢这位仁兄,这个是可以的,isblank在copy to、browse、delete命令中都是好使的,但是目前没办法解决问题,我是希望可以在select中使用,根据isblank的判断结果做一些处理,例如:SELECT IIF(isblank(cj), '', cj) cj FROM a,这样把cj字段的看到的空真正的替换成空串,但是发现这里的isblank函数返回的结果就不准确了

[此贴子已经被作者于2020-4-23 09:26编辑过]

2020-04-23 09:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:15 
回复 14楼 knightlb
变通一下,自写个函数就可以

SELECT * FROM test WHERE _IsBlank("cj")

FUNCTION _IsBlank(cFieldName)
    RETURN ISBLANK(&cFieldName)
ENDFUNC




SELECT IIF(_IsBlank("cj"), null, cj) cj FROM test

FUNCTION _IsBlank(cFieldName)
    RETURN ISBLANK(&cFieldName)
ENDFUNC
2020-04-23 09:37
knightlb
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-4-21
得分:0 
回复 15楼 吹水佬
麻烦您看一下,我这个是有什么问题吗,执行的时候总是提示:函数名缺少)
;方便的话可以把您的程序上传一个吗
2020-04-23 15:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 16楼 knightlb

SELECT xm, IIF(_IsBlank("cj"), null, cj) cj FROM test

FUNCTION _IsBlank(cFieldName)
    RETURN ISBLANK(&cFieldName)
ENDFUNC
2020-04-23 15:42
knightlb
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-4-21
得分:0 
回复 17楼 吹水佬
搞定了,多谢这位仁兄,谢谢各位了,就此结贴
2020-04-23 15:50



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




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

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