Just nu i M3-nätverket
Gå till innehåll
dkz

Dela upp text till flera kolumner i en MS-SQL Select fråga

Rekommendera Poster

Jag behöver dela upp text data ifrån en kolumn till tre i en MS-SQL select fråga.

Textinnehållet som ska delas upp är separerat med ett blanksteg. Hur gör jag detta?

 

Exempel:

(Kolumn1) Kolumn2 Kolumn3 Kolumn 4

(XXX YYYY ZZ) XXX YYYY ZZ

(X YYYYYYY ZZZZ) X YYYYYYY ZZZZ

(XXXXX YYYYYY ZZZ) XXXXX YYYYYY ZZZ

(XX YY ZZ) XX YY ZZ

(X Y Z) X Y Z

 

 

EDIT:

Oj vad rörigt tabellen blev... Ska försöka fixa till den!

[inlägget ändrat 2009-05-06 11:31:48 av dkz]

[inlägget ändrat 2009-05-06 11:33:29 av dkz]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Det blir en rätt rörig kombination av stränghanterare då det inte finns tillgång till något split-kommando, för en mer lättläst variant så får du ta till en stored procedure och använda en cursor-loop.

(I exemplet har jag döpt kolumnerna till a,b,c resp. d)

 

UPDATE Tabellen SET
b=LEFT(a,CHARINDEX(' ',a)-1), 

c=SUBSTRING(a, CHARINDEX(' ',a)+1, CHARINDEX(' ',a,CHARINDEX(' ',a)+1) -  CHARINDEX(' ',a)),

d=RIGHT(a, LEN(a) - CHARINDEX(' ',a,CHARINDEX(' ',a)+1))

 

[inlägget ändrat 2009-05-06 11:55:02 av Anjuna Moon]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Anjuna Moon levererar i vanlig ordning :) Tack. Men jag nämde inte i mitt första inlägg att jag tyvärr inte har fulla rättigheter mot servern, så någon lagrad procedur kan jag tyvärr inte skapa. Jag behöver göra detta med en SELECT fråga direkt. Men det är kanske för mycket begärt!

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jag behöver göra detta med en SELECT fråga direkt. Men det är kanske för mycket begärt!

Mitt exempel behöver du inte köra i en SP, kör den som en vanlig query. Jag delade upp den i flera rader för läsbarhetens skull, men tryck ihop allt på en rad och kör den som den är.

Men minst måste du ju i vilket fall ha UPDATE-rättigheter, men det måste du väl ändå ha?

 

[inlägget ändrat 2009-05-06 13:59:42 av Anjuna Moon]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Kör jag den mot en temp tabell så fixar det sig. Tack för din hjälp och poäng till dig såklart!

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Får följande felmeddelande:

String or binary data would be truncated.

The statement has been terminated.

(0 row(s) affected)

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...