Avatar billede samsayit Nybegynder
03. juli 2004 - 18:21 Der er 5 kommentarer og
1 løsning

SQL til replace af tegn som ikke er i en bestemt liste

Jeg ønsker at replace alle tegn som ikke er a-z samt 0-9, dvs. alle special- og regionsbestemte tegn.

Følgende SQL vil replace et enkelt tegn (i dette eksempel udskiftes  med en _:
UPDATE tablename
SET columnname = REPLACE (columnname, 'Â', '_')
WHERE columnname LIKE '%Â%';

Men ak, der findes et hav af tegn fra forskellige regioner, og det er næsten en umulig opgave at få kendskab dem alle på forhånd.

Findes der en ikke en løsning, der vil replace alt, der ikke er i en angivet resultatliste (i mit tilfælde a,b,c,d.....z samt 0,1,2...9) ?
Avatar billede samsayit Nybegynder
03. juli 2004 - 18:25 #1
Glemte at tilføje, at de alle blot skal udskiftes med det samme tegn!
Avatar billede arne_v Ekspert
03. juli 2004 - 18:57 #2
Prøv med noget a la:

declare @i integer
select @i = 128
while (@i < 256)
begin
  update tekst set f = replace(f,char(@i),'_')
  select @i = @i + 1
end

Den erstatter alle tegn 128-255 med _.
Avatar billede samsayit Nybegynder
03. juli 2004 - 21:00 #3
Tak Arne, det kan faktisk gøre det tror jeg, selv om det ikke var just præcist det jeg ville.
Det er onde tegn der har drillet ved kørsel af SilkTest scripts, men nu jeg tænker over det, passer det meget godt med at det udelukkende har været de udvidede ASCII tegn der har været problemet...

Så jeg prøver med dit forslg og ser tiden an.

Opret lige svar så du kan få point :)
Avatar billede arne_v Ekspert
03. juli 2004 - 21:02 #4
du kan jo ændre 128-255 til et andet interval hvis der er behov for det
Avatar billede arne_v Ekspert
03. juli 2004 - 21:02 #5
Og et svar
Avatar billede samsayit Nybegynder
03. juli 2004 - 22:30 #6
Jep, jeg er med ;-)
(til orientering for andre, en ascii tabel kan ses her: http://www.asciitable.com/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester