Hej, jag undrar om det finns något sätt att hämta ut en post vars värde är en del av en sträng man använder som jämförelse, alltså raka motsatsen till detta:
SELECT * FROM tabell WHERE kolumn LIKE '%sträng%'
I exemplet ovan får man ju ut alla poster där "sträng" är en del av "kolumn" men jag vill alltså ha ut alla poster där "kolumn" är en del av "sträng"
Tack, men det fungerade inte riktigt som jag tänkt. Frågan returnerade alla poster i tabellen, även de som inte hade nånting med värdet på "sträng" att göra.
create table lennholm(c varchar(5));
insert into lennholm values('ABCD');
insert into lennholm values('DCBA');
SQL>select*from lennholm where 'XXABCDXX' like '%' || c || '%';
C
=====
ABCD
1 row found
Jag skapade en rad i tabellen där värdet på kolumnen "meddelande" fick vara 'qwerty', sen skrev jag frågan så som du beskrev:
...where 'sträng' like '%' || meddelande || '%';
Oavsett vad jag använde som "sträng" (tex 'asdf') så returnerades denna rad där meddelande='qwerty' (jag testade inte med fler rader).
Jag tycker det är mycket märkligt, sunt förnuft säger ju att din fråga ska fungera på det sätt jag vill, i detta fall att inte returnera någon rad alls.
Jag använder MySQL 5.0.