在值列表中查找标记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在值列表中查找标记相关的知识,希望对你有一定的参考价值。

Find a key from a list of values​​.
parameters:
sbValues​​: List of Values 'A;B;C;D'
sbToken: Key 'B'
sbSeparator: ',' or any defined sbValues

Example:
select FSBFINDTOKEN('A;B;C;D','B',';')
from DUAL;

-------------------
Y
  1. FUNCTION fsbFindToken(sbValues IN VARCHAR2,
  2. sbToken IN VARCHAR2,
  3. sbSeparator IN VARCHAR2)
  4. /*
  5.  *
  6.  * Function : fsbFindToken.sql
  7.  * Autor : ceduard0
  8.  * Fecha : 16/02/2011
  9. **/
  10. sbLocated VARCHAR2(1) := 'N';
  11. sbListOfValues VARCHAR2(2000);
  12. nuLength NUMBER;
  13. sbValue VARCHAR2(2000);
  14. sbListOfValues := TRIM(sbValues);
  15. nuLength := LENGTH(sbListOfValues);
  16.  
  17. IF (nuLength = LENGTH(REPLACE(sbListOfValues, sbSeparator))) THEN
  18. IF (sbToken = sbListOfValues) THEN
  19. sbLocated := 'Y';
  20. END IF;--if (sbToken = sbListOfValues) then
  21. --Get data from list of value
  22. FOR i IN 1..LENGTH(sbListOfValues) + 1 LOOP
  23.  
  24. IF (TRIM(SUBSTR(sbListOfValues, i, 1)) <> TRIM(sbSeparator)) THEN
  25. sbValue := sbValue || SUBSTR(sbListOfValues, i, 1);
  26. -- tbcausal(i).nuCausa:=to_number(sbValue);
  27. IF (sbToken = sbValue) THEN
  28. sbLocated := 'Y';
  29. END IF;--if (sbToken = sbValue) then
  30. sbValue := NULL;
  31. END IF;--if (trim(substr(sbListOfValues, i, 1)) <> trim(sbSeparator)) then
  32. END LOOP;--for i in 1..length(sbValues) + 1 loop
  33. END IF;--if (nuLength = length(REPLACE(sbListOfValues, sbSeparator))) then
  34.  
  35. RETURN sbLocated;
  36. END fsbFindToken;
  37. /

以上是关于在值列表中查找标记的主要内容,如果未能解决你的问题,请参考以下文章

在列表中存储标记位置

架构丰富的代码片段也应该用于产品列表吗?

在值列表中选择具有属性值的元素

T-SQL:如何在值列表中选择不在表中的值?

在MongoDb中聚合嵌入在值列表中的文档

在oracleEBS界面中查找字段时显示“此处历史记录不可用”,那么我该怎么在值集中查询它呢?