webForumDet fria alternativet

Oskiftlägeskänslig sökning

Databaser & SQLur Databashanterare & SQL

4 svar · 201 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Hur får jag min sökfunktion (PHP och MSSQL) att strunta i små/stora bokstäver?
En sökning på "SMURF" ska ge träff även på "smurf". ;)

PS. Vad tror ni att Sture Allén säger om ordet "Oskiftlägeskänslig" :) DS

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#2

Hrrm, SQL är ju case-insensitive...

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Det var det svaret jag fruktade. :(
Jag antar att du menar: "SQL skall vara case-insensitive."
Av någon anledning så är den inte det hos mig.

$result = mssql_query("SELECT colName FROM tblcontent WHERE colName LIKE '%Smurf%'") or die ("Fel");

Den här sökning ger bara resultat på just "Smurf".
Inte på "smurf", "SMURF", "sMuRf" o.s.v...

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Hrrm, SQL är ju case-insensitive...

Det är inte sant. Det beror på vilken karaktärsuppsättning man använder och vilken kollationsordning karaktärsuppsättningen har.

Man kan påverka det genom att ange en collate-klausul för ett uttryck. Läs mer här

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ca-co_5z55.asp

Olika kollationsordningar

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ca-co_5z55.asp

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

Jag fattar inte så mycket av länkarna. Hur ska jag göra för att få min SQL case-insensitive?

136 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)