Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正则表达式并进行分类_Regex_Oracle_Substr - Fatal编程技术网

Regex 使用正则表达式并进行分类

Regex 使用正则表达式并进行分类,regex,oracle,substr,Regex,Oracle,Substr,我想用正则表达式,然后不管结果如何,我想把它放到列中。 例如: 这些结果来自正则表达式,比如 hp dell intel lenovo 假设以上是表中的列名。 现在我想将查询转为,如果是hp,那么我需要在hp列中标记为“Y” 同样,如果输出为dell,我希望在dell列中将其标记为“Y” 如果输出为“英特尔”,我想在“英特尔”列中将其标记为“Y” 如果输出是lenovo,我想在lenovo列中标记为“Y” 像这样的 dell hp intel lenovo Y Y Y Y

我想用正则表达式,然后不管结果如何,我想把它放到列中。 例如: 这些结果来自正则表达式,比如

hp
dell
intel
lenovo
假设以上是表中的列名。 现在我想将查询转为,如果是hp,那么我需要在hp列中标记为“Y” 同样,如果输出为dell,我希望在dell列中将其标记为“Y” 如果输出为“英特尔”,我想在“英特尔”列中将其标记为“Y” 如果输出是lenovo,我想在lenovo列中标记为“Y”

像这样的

dell hp intel lenovo
Y    Y    Y      Y
您可以像这样使用pivot函数:

SELECT * FROM
(
  SELECT 'hp' NAME  
  FROM DUAL
  UNION ALL
  SELECT 'dell'   
  FROM DUAL
  UNION ALL
  SELECT 'intel' 
  FROM DUAL
  UNION ALL
  SELECT 'lenovo' 
  FROM DUAL
)
PIVOT
(
  MAX('Y')
  FOR NAME IN ('hp' AS hp, 'dell' AS dell, 'intel' AS intel ,'lenovo' AS lenovo)
) 

清澈如泥。如果您的问题是如何使Y出现在右栏中,例如,如果hp然后Y出现在hp栏中,您为什么关心hp的价值是如何产生的?为什么您关心它是正则表达式的输出,而不是其他输出?请假装你不知道问题是什么,读上面的句子,你没有其他信息。这对你有意义吗?如果是这样的话,你就远远超过我们的水平了。如果它对您没有意义,那么它对我们又有什么意义呢?您正在处理的数据是什么样子的?我们需要一些例子来提出合理的建议。请编辑您的问题,并包括您正在处理的数据的示例,以及结果应该是什么。对于您的两个问题。我们的前端是java应用程序。我们支持,也就是说,我们提供存储过程的列表,供他们插入/更新/删除数据和其他操作。说到我问的问题。输入将以逗号分隔*。如果是这种情况,如何将数据插入相应的列中。如果有道理,请告诉我。