使用特定字符拆分字段值

时间:2015-07-08 07:08:24

标签: php sql oracle

请帮助我。

可以使用特定字符拆分字段值吗?这是我的样本表

value
10uF
2K
1.0uF
200UF

我想让它分开:

value       capacitance/resistance
 10            uF
 2             K
 1.0           uF
 200           UF

PS:我使用的是Oracle,数字应该与字母分开

3 个答案:

答案 0 :(得分:0)

使用拆分

array split ( string $pattern , string $string [, int $limit = -1 ] )


 <?php
  // Delimiters may be slash, dot, or hyphen
  $date = "04/30/1973";
  list($month, $day, $year) = split('[/.-]', $date);
  echo "Month: $month; Day: $day; Year: $year<br />\n";
?>

答案 1 :(得分:0)

您可以使用正则表达式:

with src as 
(select '10uF' as val from dual
union all
select '2K' from dual
union all
select '1.0uF' from dual
union all 
select '200UF' from dual)
select 
   regexp_substr(val,'[[:digit:]]+[\.]*[[:digit:]]*',1) as val
  ,regexp_substr(val,'[[:alpha:]]+',1) as resistance  
from src

答案 2 :(得分:0)

这是我的尝试,正则表达式:

SELECT 
  val, regexp_substr(val,'[[:digit:]|.]*') num,
  substr(val,regexp_instr(val,'[^[:digit:]|^\.]')) chars
FROM (
      select '10uF' as val from dual union all
      select '2K' from dual union all 
      select '1.0uF' from dual union all
      select '200UF' from dual
);

第一个表达式首先匹配数字和点的第一个匹配。 第一个表达式之后的第二个子串值(它否定了它)。