---
title: "Hantera värden i stored procedures!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/40935-hantera-värden-i-stored-procedures"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "EchO"
published: "2002-04-05T13:50:05.000Z"
updated: "2002-04-05T14:05:41.000Z"
replies: 1
views: 223
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/40935-hantera-värden-i-stored-procedures"
---

# Hantera värden i stored procedures!

## #1 — EchO, 2002-04-05T13:50Z

Hur gör jag när jag vill splitta upp en sträng som jag skickar in i en stored procedure. 

Strängen kan se ut tex så här: 49;382;239;383

jag vill alltså splitta upp strängen i stored proceduren och lagra dessa värden separat...

Hur gör jag då??

@EchO

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

## #2 — LarsG, 2002-04-05T14:05Z

Det beror på vilken dbms du använder.

Jag har aldrig sett någon färdig funktion som motsvarar split utan du får förmodligen skriva en loop och däri leta reda på ;

Det finns olika stränghanteringsfunktioner, tex position för att returnera positionen för ett visst tecken i en sträng men som sagt så skiljer det sig mellan dbms.

```
-- psmkod
  
  declare offset integer default 1;
  declare length,we integer ;
  declare word varchar(40);

  set length = char_length(csv_string);
  
  while offset <= length do
         set we = position(";" in substring(csv_string from offset));
         if  we = 0 then
             set we = length - offset + 1;
         end if;  
         set word = substring(csv_string from offset for we - 1);
  -- hantera word
         set offset = offset + we;
  end while;
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/40935-hantera-värden-i-stored-procedures
