🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195021

Re: Sprawdzenie czy wartość kolumny zawiera w sobie wartość innej kolumny

#195021
From: Lesiok
Date: Fri, 17 Jun 2016 17:26
44 lines
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-mail
References: <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