Разделить значения полей, используя определенный символ

1

Пожалуйста, помогите мне с этим.

Можно разделить значения полей с помощью определенного символа? Вот моя примерная таблица

value
10uF
2K
1.0uF
200UF

Я хочу, чтобы он разделился на это:

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

PS: Я использую Oracle, и числа должны быть отделены от букв

Теги:

3 ответа

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
);

Первое выражение принимает первое совпадение цифр и точек столько, сколько они есть. Второе значение подстроки для первого выражения (оно отрицает его).

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
0

Использовать split

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";
?>
  • 0
    Привет, спасибо за ответ, но я могу вместо этого иметь запрос sql?
  • 0
    Для оператора SQL вы можете использовать INSTR
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню