使用正则表达式和分类

时间:2016-09-06 00:49:47

标签: regex oracle substr

我想使用正则表达式,然后结果出来,我想将它放入列中。 例如: 我将这些结果来自正则表达式,

hp
dell
intel
lenovo

假设上面是表中的列名。 现在我想转动查询说,如果是hp那么我需要在hp列中标记为'Y' 同样,如果输出是dell我想在dell列中标记为'Y' 如果输出是intel,我想在intel列中标记为'Y' 如果输出是lenovo,我想在lenovo列中标记为'Y'

类似这样的事情

dell hp intel lenovo
Y    Y    Y      Y

1 个答案:

答案 0 :(得分:0)

您可以使用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)
)