<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Wyciągnięcie znaków liczbowych ze środka stringa]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=1409&amp;type=atom"/>
	<updated>2012-10-17T13:21:57Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=1409</id>
		<entry>
			<title type="html"><![CDATA[Odp: Wyciągnięcie znaków liczbowych ze środka stringa]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=3757#p3757"/>
			<content type="html"><![CDATA[może tak
select 
 translate(upper(wiek),'AĄBCĆDEĘFGHIJKLŁMNOÓPQRSTUWZŹŻ%.,','') as met_1
,regexp_replace(wiek,'\D+','','g')  as met_2_1
,trim(regexp_replace(wiek,'\D+',',','g'),',') as met_2_2
FROM (select 'ABa%56kLSA87.'::varchar as wiek) d]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2012-10-17T13:21:57Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=3757#p3757</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Wyciągnięcie znaków liczbowych ze środka stringa]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=3756#p3756"/>
			<content type="html"><![CDATA[Witam

Mam taką  zagwostkę, a mianowicie jak wyciągnąć znaki liczbowe ze środka stringa.

Mam np. string ABa%56kLSA.

Udało mi się to zrobić mniej więcej tak jak poniżej, jednak bawienie się i zamienianie wszystkich możliwych znaków i wycinanie ich później nie ma sensu.

SELECT
rtrim(ltrim(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(upper(wiek), 'A', 'A'), 'B', 'A'), 'C','A'),'D','A'),'E','A'),'F','A'),'G','A'),'H','A'),'I','A'),'J','A'),
'K','A'),'L','A'),'M','A'),'O','A'),'P','A'),'R','A'),'S','A'),'T','A'),'U','A'),'W','A'),'X','A'),'Y','A'),'Z','A'),'A'),'A')

FROM pracownik WHERE id=5;

Ktoś wie bądź ma pomysł jak to zrealizować w mniej zagmatwany sposób?]]></content>
			<author>
				<name><![CDATA[alt]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1494</uri>
			</author>
			<updated>2012-10-17T11:14:59Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=3756#p3756</id>
		</entry>
</feed>
