Hejsan,
Jag kopierade in text från webben till SQL-server (manuellt).. på en del ställen står det å, ä, ö, och ibland å ä ö och jag tror att det blir lättare att söka i databasen om det bara står å, ä, ö.. säg att jag söker efter
"dörr" så hittar den väl inte om det står "dörr" så då skulle jag vilja göra en "global replace" på alla förekomster av ö så att det istället står ö.. går det på nåt sätt..? Om inte måste jag ju igen gå in i varje post o kopiera in så det blir rätt.. asjobbigt ju.. ;)
@ndersMedlem sedan juni 200032 969 inlägg
en del ställen står det å, ä, ö, och ibland å ä ö
Ok?
säg att jag söker efter "dörr" så hittar den väl inte om det står "dörr"
Är inte dörr samma sak som dörr?
på alla förekomster av ö så att det istället står ö
Ok?
Jag misstänker att jag förstår vad du menar, men du skulle kunna läsa igenom ditt inlägg efter det att du postat det, så förstår du vad som ser lite konstigt ut.
Det finns en funktion i T-SQL som heter Replace(), som kan göra det du vill, så länge inte datatypen på fälten ifråga är text. Är det det får du nog använda något annat interface mot SQL Server, exempelvis Access eller en specialskriven ASP-sida (eller vad du nu använder för teknik.)
aj va fasen.. :) jag kollade igenom lite snabbt men inte tillräckligt noga.. tack för att du påpekade.. annars hade inte sett det tror jag..
ehm.. det ska stå
å istället för & aring;
ä istället för & auml;
ö istället för & ouml;
så att jag överallt får vanligt å, ä, ö..
jag vill byta ut t.ex. "d& ouml;" mot "dörr" så att man kan söka efter just "dörr" o få en sökträff.. :)
nä, jag funderade på "text" men fattade inte riktigt hur mycket man skulle kunna stoppa in där.. alltså vilken begränsning som gällde.. det stod 16 tror jag.. så jag använde (stora) värden med varchar istället.. (för att kunna lagra större mängde text) o det fungerade iofs men jag vet inte om text är det som är menat egentligen när man vill lagra mycket text.. ehm.. låter ju så iofs? :)
Kollade lite i BOL om Replace().. stod:
SELECT REPLACE('abcdefghicde','cde','xxx')
.. så jag antar att jag kör in den i en yttre SELECT sats så att abcdefghicde representerar varje rad eller nåt sånt..? ska prova o återkommer annars... tack för svaret :)
@ndersMedlem sedan juni 200032 969 inlägg Text är en datatyp för att lagra stora textmassor, om jag inte missminner mig är begränsningen 2 Gb.
Replace() kan du självklart använda med UPDATE också.
2GB ?! oj tjena.. hmm.. antar att den allokerar utrymme dynamiskt.. eller om det är nåt minimum.. ska kolla upp.. skumt att Replace() inte funkar då om det är text..
heh, oki, jo.. UPDATE borde väl va rimligare.. :)