29. januar 2003 - 11:56Der er
3 kommentarer og 1 løsning
udtræk x antal tegn fra et feltindhold med bindestreg som delim
Hej eksperter
Mit ? er: Hvordan kan/skal en MS SQL syntaks se ud hvis jeg vil udtække x antal tegn fra et feltindhold hvor bindestreg bruges som delim, eks. jeg har et feltindhold som flg. Tabelnavn=prove, feltnavn=forsog
forsog: Test-test1-test2- Tes-test1-test2 Test-te-test2 jeg ønsker at udtrække værdierne hen til bindstreg nr2 d.v.s bindestreg 2 skal ikke med ud i udtrækket, jeg har forsøgt med flg. syntaks SUBSTRING(forsog;1; CHARINDEX('-';forsog;CHARINDEX('-';forsog; +1) -1) Men jeg kan ikke umiddelbart få dette til at virke? Så er der en der kan hjælpe, vil jeg blive glad...
Okay, Jeg har en eller flere dataværdier i et felt, en dataværdi indeholder eksemplevis følgende "bla-bla1-bla2-bla3" jeg vil så bruge bindestregen som delimit=(adskillsestegn) og jeg ønsker at hente "bla-bla1" af den værdi der er i feltet, dvs. jeg ønsker ikke de data der er efter delimit 2 (bindestreg 2) så: hvad der af tegn til bindestreg 2 ønsker jeg at udtrække.
declare @r as varchar(25) declare @p as int declare @p1 as int set @r = 'bla-bla1-bla2-bla3' set @p = patindex('%-%', @r) set @p1 = patindex('%-%',substring(@r, @p + 1, len(@r))) select left(@r, @p + @p1 - 1)
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.