---
title: "Hämta post vars värde utgör del av sträng."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/159382-hämta-post-vars-värde-utgör-del-av-sträng"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Lennholm"
published: "2007-04-17T17:45:22.000Z"
updated: "2007-04-20T04:24:23.000Z"
replies: 7
views: 532
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/159382-hämta-post-vars-värde-utgör-del-av-sträng"
---

# Hämta post vars värde utgör del av sträng.

## #1 — Lennholm, 2007-04-17T17:45Z

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:

```php
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"

Permalänk: https://www.webforum.nu/p/159382

## #2 — LarsG, 2007-04-17T18:25Z

```
where 'sträng' like '%' || column || '%'
```

Permalänk: https://www.webforum.nu/p/1966132

## #3 — Lennholm, 2007-04-18T15:12Z

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.

Permalänk: https://www.webforum.nu/p/1968410

## #4 — LarsG, 2007-04-18T17:11Z

Jaså, jag gjorde följande test

```
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
```

Permalänk: https://www.webforum.nu/p/1968437

## #5 — LarsG, 2007-04-18T17:15Z

Vilken DBMS använder du?

Permalänk: https://www.webforum.nu/p/1968438

## #6 — Lennholm, 2007-04-19T14:10Z

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.

Tack för hjälpen!

Permalänk: https://www.webforum.nu/p/1968592

## #7 — LarsG, 2007-04-19T14:13Z

Det är fel i Mysql. Där betyder \|\| or och inte strängkonkatenering.

```
where 'sträng' like concat('%',meddelande,'%');
```

Permalänk: https://www.webforum.nu/p/1968596

## #8 — Lennholm, 2007-04-20T04:24Z

Tack så mycket!

Permalänk: https://www.webforum.nu/p/1968726

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/159382-hämta-post-vars-värde-utgör-del-av-sträng
