---
title: "freetext(fält, '%') ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/79423-freetext-fält"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Brimba"
published: "2003-06-11T12:35:15.000Z"
updated: "2003-06-13T15:54:31.000Z"
replies: 6
views: 315
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/79423-freetext-fält"
---

# freetext(fält, '%') ?

## #1 — Brimba, 2003-06-11T12:35Z

Hej!

Jag försöker ordna så att jag i mitt wherevillkor kör 

and freetext(fält, @searchString)

endast när @searchString skiljer sig från ''

Så som man exempelvis kan göra vid en vanlig jämförelse.

and fält = case @searchString when '' then fält else @searchString end

Någon som har några tips på detta?

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

## #2 — spango, 2003-06-11T12:46Z

*... WHERE (@searchString \<\> '') AND freetext(fält, @searchString)* ?

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

## #3 — Brimba, 2003-06-11T13:33Z

Njae, det var inte riktigt så jag menade.

Jag vill endast lägga till wherevillkoret när @searchString skiljer sig från ''. Men annars skall den hämta alla poster.

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

## #4 — LarsG, 2003-06-11T13:44Z

```
if @searcstring <> '' 
   select ...
else
   select
```

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

## #5 — Brimba, 2003-06-11T16:24Z

Japp, så kan man göra. Problemet är att det blir så fult :( Ville lösa det på ett annat sätt :)

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

## #6 — spango, 2003-06-12T10:23Z

Då fessöker vi igen då:
*SELECT foo FROM bar WHERE @searchstring = '' OR freetext(quux, @searchString)*
Antingen är strängen tom, och då blir första halvan av (och därmed hela) OR-villkoret sant, annars får villkoret samma värde som freetext returnerar. 
Eller är jag dum i huvudet och hajar inte vad du menar? :q

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

## #7 — Brimba, 2003-06-13T15:54Z

Jo du missuppfattar mig nog lite.
i freetext() kan man inte skicka in en tom sträng, man kan heller inte skicka in % eller \_ eller något annat wildcard. Den kräver att man skickar in ett "riktigt" ord att söka på.

Utifrån detta så vill ja alltså göra följande:

Om @searchString är tom så kör inte freetext() annars kör freetext() i wherevillkoret.

Problemet är att man inte kan använda ifsats i wherevillkoret utan då får man lägga den runt hela selecten och det blir inte snyggt. Därför söker jag en annan lösning.

OM @searchString är tom så skall det se ut såhär:
Select foo from bar where kek=kek2

Annars:
Select foo from bar where kek=kek2 and freetext(foo, @searchString)
Är du med?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/79423-freetext-fält
