webForumDet fria alternativet
Logga in / Bli medlem

Söka efter %

Databaser & SQL

3 svar · 188 visningar · startad av bohlin

Medlem sedan mars 2000263 inlägg
Frågan#1

Jag vill söka i en tabell där ett fält som innehåller %.
select * from tabell where titel LIKE "hej%på%dig"
funkar inte, för då ser den % som vad-som-helst.
Jag har testat lite, och detta verkar funkar:
select * from tabell where titel LIKE "hej\%på\%dig"
Stämmer det? Kommer det att fungera som jag vill?

Databasen är Mysql

Medlem sedan juni 20008 205 inlägg
#2

Japp, det stämmer. Det borde även funka med ... LIKE "hej%%på%%dig" om jag inte missminner mig.

Medlem sedan dec. 200012 464 inlägg
#3

För att kunna söka på % eller _ i samband med like så finns det en escape-syntax i sql-standarden

where column like '%|%%' escape '|'

t.ex. för att söka efter en kolumn som innehåller %

Det finns ingen default escapetecken i SQL. (Att Mysql har \ är alltså en utvidgning.)

Medlem sedan mars 2000263 inlägg
#4

Tackar för hjälpen!

266 ms totalt · 4 externa anrop · v20260731065814-full.0583408b
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)