Avatar billede annsofie85 Nybegynder
26. januar 2012 - 10:10 Der er 2 kommentarer og
1 løsning

Lægge tekst af ukendt længde ind i en variabel

Hej

Jeg skal hive tekst ud fra en kolonne men jeg ved ikke hvor lang teksten er. Jeg ved kun hvad der står foran og at det står imellem disse tegn " ". F.eks.: FirstName="Ann-Sofie".

Jeg har denne kode:

DECLARE @ColA varchar(max)
DECLARE @Id varchar(max)
DECLARE @FirstName varchar(max)
DECLARE @Length int
  SELECT @ColA = strValue --Henter data ind i @ColA
  FROM dbo.Fields
  WHERE Id=145 --Henter hele strValue kolonnen for id=145
SET @Id = 'FirstName="' --Det kendte før x
SET @Length = 9 --Den kendte længde på x
SET @FirstName = SUBSTRING(@ColA, CharIndex(@Id, @ColA) + LEN(@Id), @Length)
INSERT INTO data (Fornavn)
SELECT @FirstName

Denne virker når jeg kender længden på navnet (@Length), men hvad gør jeg når længden er ukendt og jeg kun ved at det er afgrænset af ""?
Avatar billede ramad Praktikant
26. januar 2012 - 11:04 #1
Du kan evt. gøre det ved at definere @Lenght på følgende måde.

SET @Length = CHARINDEX('"', SUBSTRING(@ColA, CHARINDEX(@Id, @ColA) + LEN(@Id), LEN(@ColA))) - 1

Det finder længden ved at starte hvor dit id slutter og så tage resten af teksten. Denne bliver så afgrænset ved '"'. -1 er for at undgå at få '"' med.
Avatar billede annsofie85 Nybegynder
26. januar 2012 - 11:15 #2
Fedt - tak!!
Smid et svar :)
Avatar billede ramad Praktikant
26. januar 2012 - 11:21 #3
svar smidt :)
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