简体   繁体   English

如何通过UniData多值字段中的元素选择

[英]How to select by elements in a UniData multivalued field

I'm trying to do an ad hoc search of records that contain duplicate values in the first and second elements of a multivalued UniData field. 我正在尝试对包含多值UniData字段的第一和第二个元素中重复值的记录进行临时搜索。 I was hoping something like this would work but I'm not having any luck. 我希望这样的事情能奏效,但我没有运气。

LIST PERSON WITH EVAL "STATUS[1] = STATUS[2]"

After some testing it looks like I stumbled across a way of reading the field right to left that many characters. 经过一番测试之后,我似乎偶然发现了一种从右到左读取这么多字符的方法。 Interesting but not useful for what I need. 有趣但对我需要的没有用。

LIST PERSON NAME EVAL "NAME[3]" COL.HDG 'Last3'

PERSON Name  Last3
0001   Smith ith

Any ideas on how to correctly select on specific field elements? 关于如何正确选择特定字段元素的任何想法?

Apparently the EXTRACT function will let me specify an element but I still can't get a selection on it to work properly. 显然,EXTRACT函数可以让我指定一个元素,但是我仍然无法对其进行选择以使其正常工作。

LIST PERSON STATUS EVAL "EXTRACT(STATUS,1,2,0)" COL.HDG 'Status2'

PERSON STATUS    Status2
0001   Added     Processed
       Processed 

I would use eval with @RECORD placeholder with the dynamic array notation as such (assuming that STATUS is in Attribute 11. 我将使用带有动态数组表示法的@RECORD占位符eval(假设STATUS位于属性11中)。

Edit: Previous answer was how I would do this in UniVerse 编辑:以前的答案是我将如何在UniVerse中执行此操作

SELECT PERSON WITH EVAL "@RECORD<11,1>" EQ EVAL "@RECORD<11,2>"

Script Wolf's more better way that works in UniVerse and UniData. Script Wolf在UniVerse和UniData中工作的更好的方法。

SELECT PERSON WITH EVAL "EXTRACT(@RECORD,11,1,0)" EQ EVAL "EXTRACT(@RECORD,11,2,0)"

Good Luck. 祝好运。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM