Avatar billede stoffer Nybegynder
02. maj 2001 - 13:34 Der er 4 kommentarer og
2 løsninger

Replace i SQL

hejsa, kan man lave Replace i SQL? (evt. i en stored procedure).

Giv gerne et eksempel hvis muligt.

mit konkrete formål:

jeg har et felt som er lavet på dette:

1*2*3*4*5

men det skal så tages ud og bruges således:

SELECT * FROM tabel Where colonne in (1,2,3,4,5)

så jeg skal have * med ,

/stoffer
Avatar billede mwittrock Nybegynder
02. maj 2001 - 13:38 #1
T-SQL indeholder skam en REPLACE funktion, brug den som følger:

REPLACE(\'1*2*3*4*5\', \'*\', \',\')
Avatar billede slash Nybegynder
02. maj 2001 - 13:38 #2
du kan bruge REPLACE.... næsten ligesom i asp
Avatar billede mwittrock Nybegynder
02. maj 2001 - 13:49 #3
Du skal dog huske, at du ikke direkte kan indsætte strengen dynamisk i en SQL sætning. Skal SQL sætningen opbygges dynamisk, skal du anvende proceduren sp_executesql:

DECLARE @sql NVARCHAR(1000)
SET @sql = N\'SELECT * FROM tabel Where colonne in (\' + REPLACE(\'1*2*3*4*5\', \'*\', \',\') + \')\'
EXEC sp_executesql @sql
Avatar billede stoffer Nybegynder
02. maj 2001 - 14:08 #4
Tak for det præcise svar :)
Avatar billede stoffer Nybegynder
02. maj 2001 - 15:59 #5
et lille side spg. hvis du gider. Kan man bruge regular exp direkte i MS-SQL??
Avatar billede mwittrock Nybegynder
02. maj 2001 - 16:03 #6
Jeg har aldrig stødt på dem... Det nærmeste du kommer, er de meget primitive udvidelser af LIKE operatoren som MS har lavet, hvor du f.eks. kan skrive like \'[a-z]%[^0-9]\' for at finde strenge, der starter på et bogstav mellem \'a\' og \'z\' og ikke ender på et tal.
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