Avatar billede kxh Nybegynder
07. december 2004 - 10:56 Der er 3 kommentarer og
2 løsninger

Hjælp til forespørgsel

Hej

Jeg har en tabel hvor jeg har et felt som jeg gerne vil trække nogen værdier ud med en SUBSTRING men problemet er som følger

Felt data
ID: 12356 ProduktType: 1245
ID: 999999 ProduktType: 1000
ID: 76897 ProduktType: 26496

Hvordan kan jeg trække ID og ProduktType ud i en sql sætning når deres placering kan variere, vil gerne benytte noget i stil af en SUBString, men jeg skal jo kunne angive præcise placeringer.


// Kim
Avatar billede mcgoat Nybegynder
07. december 2004 - 11:00 #1
Du skal da bare lave din database sådan her:
Du har en tabel med f.eks 2 columns. en der hedder ID og en der hedder ProduktType. Det er da meget nemmere end at begge ting står i den samme....

Håber du forstår
Avatar billede erikjacobsen Ekspert
07. december 2004 - 11:00 #2
Du omstrukterer først din tabel, så du har to felter, 'ID' og 'ProduktType'.
Det du er i gang med nu skal du dropppe.
Avatar billede kxh Nybegynder
07. december 2004 - 11:09 #3
Ja klart vil det være bedre at opdele i columns, men problemet er at denne tabel
er en logtabel, og at det som bliver skrevet i tabellen er en komplet string som
vores leverandør bruger som log, det vil sige at stringen kan indeholder mængder af andre data.
men jeg bliver nok bare nød til at lave et program istedet som kan analyzere disse data.
Avatar billede janus_007 Nybegynder
07. december 2004 - 12:33 #4
Ja det er jo ikke den fedeste måde at klare det på, men:

select cast(substring(felt, charindex('ID:', felt) + 3 , charindex('ProduktType:', felt)-4) as int) as ID  ,
cast(substring(felt, charindex('ProduktType:', felt) + 12 , 50) as int) as ProduktType 
from Table1

Hvis der står noget efter ProduktType tallet vil den fejle og du skal derfor bruge samme opbygning som jeg har gjort for at få ID ud, dvs. du skal skifte 50 i sidste substring ud med en charindex som er i ID.

Håber du kan bruge det :O)
Avatar billede janus_007 Nybegynder
21. december 2004 - 12:29 #5
Kunne du afslutte denne tråd?
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