如何使用列名作为变量。<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想从列中选择一些行(我在当前数据表中有一个名为'RESOLUTION'的列)
这两行将起作用:
======================================
dt =当前数据表();
dt <<选择位置(RESOLUTION> 0。);
======================================
如果我将'RESOLUTION'定义为另一个变量,它不起作用:
============================================
dt =当前数据表();
可乐=“分辨率”;
dt <<选择Where(列(dt,colA)> 0.);
============================================
这不会选择任何行。
有人可以告诉我怎么能这样做?
谢谢。
Re:如何使用列名作为变量。或者使用AsColumn函数:
可乐=“分辨率”;
dt <<选择位置(AsColumn(colA)> 0。)
Re:如何使用列名作为变量。有用!!
非常感谢!
Re:如何使用列名作为变量。QT,
这样就可以了。
DT = 当前数据表 () ;
可乐 = “解析度” ;
col_expr = “dt <<选择位置(:名称(\!)” || 可乐 || “\!”)> 0.)“ ;
EVAL ( 解析 ( col_expr )) ;
基本上你是在创建一些动态代码,然后执行它。
回复:如何使用列名作为变量。使用 As Column() 需要注意的一件事是,对于大型数据表,它似乎比使用 eval( parse(..)) 语法慢得多。
就我而言,我有一个包含 390k 行和 17 列的数据表。
使用 Eval ( Parse ( .... )) 需要 67 毫秒来选择我要查找的行,而使用 As Column() 语法需要 3,600 毫秒! (使用 HPTime() 来测量)
因此,虽然 As Column() 语法在代码中更具可读性,但如果速度很重要,它可能不是最佳选择
回复:如何使用列名作为变量。如果将 AsColumn() 与 Column() 结合使用,它可能会使 AsColumn() 更快。
回复:您应该循环遍历数据表或使用重新编码,还是使用获取行位置来更改数据表中的值