Article View: pl.comp.bazy-danych
Article #195021Re: Sprawdzenie czy wartość kolumny zawiera w sobie wartość innej kolumny
From: Lesiok
Date: Fri, 17 Jun 2016 17:26
Date: Fri, 17 Jun 2016 17:26
44 lines
2479 bytes
2479 bytes
W dniu 2016-06-17 o 19:00, KA-RAM-BA pisze:
> Witam.
>
> Mam tabelę gdzie są dwie kolumny. Kolumna A i kolumna B. Kolumna A zawiera nazwę miejscowości, natomiast kolumna B zawiera cały adres czyli kod pocztowy, miejscowość, ulic itd.
> Potrzebuję napisać zapytanie które będzie wyświetlać 3 kolumny:
>
> A | B | C
>
> W trzeciej kolumnie potrzebuje uzyskać wynik: Jeśli wartość kolumny B zawiera w sobie wartość kolumny A to wynik TAK, w przeciwnym wypadku NIE. Ogólnie muszę sprawdzić czy w pełnym adresie jest zawarta nazwa miejscowości.
>
> Myślałem, że coś takiego zadziała ale niestety:
>
> select A, B,
> CASE
> WHEN B LIKE X'7d' || '%' || X'7d' || A || X'7d' || '%' || X'7d' THEN 'TAK'
> ELSE 'NIE'
> END AS C
> from TABELA
>
> inna wersja (prostsza) też nie działa
>
> select A, B,
> CASE
> WHEN B LIKE ('%' || A || '%' ) THEN 'TAK'
> ELSE 'NIE'
> END AS C
> from TABELA
>
> Było by super gdyby działało to pod BD2
>
W PostgreSQL jest funkcja position(substring in string). Czyli byłby tak :
select A, B,
CASE
WHEN position(A in B) > 0 THEN 'TAK'
ELSE 'NIE'
END AS C
from TABELA
Poszukaj sobie takiej funkcji w DB2.
--
Pozdrawiam,
Leszek Kubrak
Technical Details
Message-ID:
<576432eb$0$12550$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!cyclone03.ams2.highwinds-media.com!voer-me.highwinds-media.com!peer03.am1!peering.am1!peer03.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<a8f5d9bf-4956-4b7e-b637-590561a5614f@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!cyclone03.ams2.highwinds-media.com!voer-me.highwinds-media.com!peer03.am1!peering.am1!peer03.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Sprawdzenie czy wartość kolumny zawiera w sobie wartość innej kolumny Newsgroups: pl.comp.bazy-danych References: <a8f5d9bf-4956-4b7e-b637-590561a5614f@googlegroups.com> From: Lesiok <lesiok@infokub.com.pl> Date: Fri, 17 Jun 2016 19:26:58 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <a8f5d9bf-4956-4b7e-b637-590561a5614f@googlegroups.com> Lines: 44 Message-ID: <576432eb$0$12550$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.19.165.54 X-Trace: 1466184427 unt-rea-a-01.news.neostrada.pl 12550 83.19.165.54:22929 X-Complaints-To: abuse@news.neostrada.pl X-Received-Body-CRC: 503222601 X-Received-Bytes: 2352 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit