Пожалуйста, помогите мне с этим.
Можно разделить значения полей с помощью определенного символа? Вот моя примерная таблица
value
10uF
2K
1.0uF
200UF
Я хочу, чтобы он разделился на это:
value capacitance/resistance
10 uF
2 K
1.0 uF
200 UF
PS: Я использую Oracle, и числа должны быть отделены от букв
Это моя попытка с регулярным выражением:
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
);
Первое выражение принимает первое совпадение цифр и точек столько, сколько они есть. Второе значение подстроки для первого выражения (оно отрицает его).
Вы можете использовать регулярные выражения:
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
Использовать 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";
?>
INSTR