| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4022 人关注过本帖
标题:关于evaluate()函数的疑问。
只看楼主 加入收藏
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:2
帖 子:131
专家分:24
注 册:2016-2-26
结帖率:79.17%
收藏
已结贴  问题点数:16 回复次数:9 
关于evaluate()函数的疑问。
假设有一个表“员工”,中有一个字段“年龄”,为字符型字段。“Select 年龄 from 员工”可以执行,而“Select Evaluate(年龄) from 员工”不能执行,显示“缺少表达式”,改为“Select Evaluate(年龄) As "年龄" from 员工”和。“Select 员工.年龄 from 员工”也不行。
2016-06-03 11:44
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:4 
对表达式有效

坚守VFP最后的阵地
2016-06-03 11:56
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:4 
“Select 年龄 from 员工”可以执行,——是把 年龄 下面的10个数据(假设只有10条记录)取出来,成为一个新表,字段名叫年龄。
而“Select Evaluate(年龄) from 员工”不能执行,——有了evaluate,意思变成了计算 年龄 得到的值作为字段名去源表中找数据,共有10个值,搞不清用哪个值作字段名了,每个值为字段名的时候 ,在源表(员工)中是找不到这样一个字段的,所以,只能给你一个错误的提示了。

偶也不知道偶的理解对不对。程序员们可能不是这样理解的。

只求每天有一丁点儿的进步就可以了
2016-06-03 13:18
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
EVALUATE() 计算字符表达式的值并返回结果
2016-06-03 13:27
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
为了测试我的理解

设置“ABC.DBF”为
id  xm      xb
1     xb      BNM

执行 sele xm from abc 得到 
  xm
    xb
执行  sele evalu(xm) as xm from abc 得到
    xm
    BNM
这样证实了偶的理解是有点儿对的, ——没试有2条、3条记录的状况……
所以这个函数是不能用在这个地方的

[此贴子已经被作者于2016-6-3 13:36编辑过]


只求每天有一丁点儿的进步就可以了
2016-06-03 13:31
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
wanguhssheng 你可以增加记录试一下,就知道原因了。

只求每天有一丁点儿的进步就可以了
2016-06-03 13:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:4 
aa="111"
cc="222"
CREATE CURSOR abc (id I, xm C(10), xb C(10))
INSERT INTO abc VALUES (1, "aa", "f")
INSERT INTO abc VALUES (2, "xb", "m")
INSERT INTO abc VALUES (3, "cc", "f")
SELECT EVALUATE(xm) FROM abc
2016-06-03 13:56
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:2
帖 子:131
专家分:24
注 册:2016-2-26
收藏
得分:0 
还不知道原因,但是用VAL()代替EVALUATE()后可以得到正确结果,不清楚两者之间的差别。
2016-06-03 13:59
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:2
帖 子:131
专家分:24
注 册:2016-2-26
收藏
得分:0 
谢谢诸位,尤其是吹老和翁老的例子,问题解决了。
2016-06-03 14:25
andy292
Rank: 2
等 级:论坛游民
威 望:1
帖 子:86
专家分:13
注 册:2005-2-26
收藏
得分:0 
不错的思路,学习一下呀
2017-04-23 11:36
快速回复:关于evaluate()函数的疑问。
数据加载中...
 
   



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

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