---
title: "Splitta kolumn till 2"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/151229-splitta-kolumn-till-2"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "b3rra"
published: "2006-09-12T13:49:17.000Z"
updated: "2006-09-13T09:18:58.000Z"
replies: 6
views: 398
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/151229-splitta-kolumn-till-2"
---

# Splitta kolumn till 2

## #1 — b3rra, 2006-09-12T13:49Z

Hej, 

Jag har en tabell som heter Namn, som inehåller "Berra Bertilsson"
Jag skulle vilja hat två kolumner FirstName "Berra" och LastName "Bertilsson"

Kan man genomföra detta direkt via SQL eller måste man scripta till något för att enklast lösa problemet?

// Berra

Permalänk: https://www.webforum.nu/p/151229

## #2 — LarsG, 2006-09-12T14:06Z

```
update t
set firstname = substring(namn from 1 for position(' ' in name) - 1,
 lastname = substring(namn from  position(' ' in name) + 1)
```

Permalänk: https://www.webforum.nu/p/1866549

## #3 — b3rra, 2006-09-12T15:48Z

I rätt riktning men..

Jag är inte riktigt säker på om jag förstod din update-fras, 
försökte läsa på lite mer om substrings men hittade inget som liknade ditt exempel. Tycker det verkas som om man måste ha tre värde

SUBSTRING ( expression, start, length ) 

Min tanke var ju att jag per automatik skulle kunna flytta ut datan i två kolumner. Mitt problem är nämligen att jag har ca 30 000 namn som behöver trandormeras för att passa in i en ny databasstruktur. 

Du brukar ju ha stenkoll på allt som går med SQL. 

// Berra

Permalänk: https://www.webforum.nu/p/1866602

## #4 — oskars, 2006-09-12T16:07Z

LarsG, menar du att man kan ta ut värden så här: "Börja vid tecken nummer 1 och sluta vid tecken nummer 10 och lägg in det i vald kolumn"?

Permalänk: https://www.webforum.nu/p/1866618

## #5 — LarsG, 2006-09-12T16:12Z

Eftersom du inte angav vilken DBMS du använder så gav jag ett svar som följer SQL-standarden. Ditt dokumentationsexempel tyder på SQL server i vilket fall man får använda char_index istället för position.

Permalänk: https://www.webforum.nu/p/1866620

## #6 — emission, 2006-09-12T19:53Z

```
update t
set firstname=LEFT(namn ,CHARINDEX(' ',namn)), lastname=RIGHT(namn ,LEN(namn )-CHARINDEX(' ',namn)) WHERE namn LIKE '% %'
```

Permalänk: https://www.webforum.nu/p/1866736

## #7 — b3rra, 2006-09-13T09:18Z

Tack för hjälpen

Ni har gett mig ytterligare en dimension på SQL. 

Det gällde en MSSQL 2005, det fungerade precis som jag önskade mig. 

// Berra

Permalänk: https://www.webforum.nu/p/1866907

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/151229-splitta-kolumn-till-2
