SQL kolom splitsen in twee kolommen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • petera2
  • Registratie: Juni 2022
  • Laatst online: 27-06-2022
Mijn vraag

Net gestart met SQL en nog niet zoveel ervaring

Ik zou een kolom met omschrijvingen van producten moeten splitsen
- In een kolom waar de eerste 30 karakters voorkomen
- en in de tweede kolom de rest van de omschrijvingen

Maar de splitsing zou moeten gebeuren op een spatie

Vb
Lichtblauwe/gele paraplu afmetingen van 150cm

Dus in eerste kolom zou Lichtblauwe/gele paraplu moeten komen en in tweede kolom afmetingen 150cm

Kan iemand mij helpen hiermee?

Beste antwoord (via petera2 op 27-06-2022 19:52)


  • Osxy
  • Registratie: Januari 2005
  • Laatst online: 08:37

Osxy

Holy crap on a cracker

Het kan, je moet de laatste spatie in de eerste 30 characters opzoeken en daar op splitsen.

http://sqlfiddle.com/#!18/57c4b3/2

"Divine Shields and Hearthstones do not make a hero heroic."

Alle reacties


Acties:
  • 0 Henk 'm!

  • Redshark
  • Registratie: Mei 2002
  • Laatst online: 21:33
Je bent wat summier in wat je exact wilt maar met een substring() kom je hier wel verder mee.

Acties:
  • 0 Henk 'm!

  • De_Bastaard
  • Registratie: Oktober 2001
  • Laatst online: 08:52
Sorry man, maar dit heeft wel echt een hoog “heb je het al gegoogled gehalte”.

Acties:
  • 0 Henk 'm!

  • petera2
  • Registratie: Juni 2022
  • Laatst online: 27-06-2022
Merciekes voor de info

Inderdaad met substring lukt het om de kolom te splitsen

SELECT SUBSTRING (Omschrijvingen, 1, 30)
FROM Product

Maar dat dan wordt de omschrijvingen op 30 karakters afgekapt en dit zou ik willen vermijden

Acties:
  • 0 Henk 'm!

  • M2M
  • Registratie: Juli 2006
  • Laatst online: 22:01

M2M

medicijnman

Maar het betere knip-werk met een delimiter kan toch ook?
https://docs.microsoft.co...sql?view=sql-server-ver16

-_-


Acties:
  • 0 Henk 'm!

  • petera2
  • Registratie: Juni 2022
  • Laatst online: 27-06-2022
Merciekes om mij op weg te helpen :-:

Acties:
  • 0 Henk 'm!

  • Hoiz
  • Registratie: Augustus 2009
  • Laatst online: 07-05 22:22
Wat is er precies mis met substrings? Je kan toch een select maken van positie 0 tot 30 en 30 tot LEN()?

Acties:
  • 0 Henk 'm!

  • OverTheTop
  • Registratie: December 2017
  • Laatst online: 01:53
Maar waarom wil je dit ?
Het is erg onlogisch om een productomschrijving in stukjes te hakken binnen de database. Normaal gesproken laat de de complete productomschrijving in de database staan.
Bij de uitvoer op een webpagina of een rapport hak je deze dan indien nodig is stukjes.

Acties:
  • 0 Henk 'm!

  • erwn
  • Registratie: November 2020
  • Niet online
petera2 schreef op zondag 26 juni 2022 @ 23:05:
Maar de splitsing zou moeten gebeuren op een spatie

Vb
Lichtblauwe/gele paraplu afmetingen van 150cm

Dus in eerste kolom zou Lichtblauwe/gele paraplu moeten komen en in tweede kolom afmetingen 150cm
Dit ziet eruit alsof je op een 'willekeurige' plek moet splitsen? Wat als een rij enkel 'Paraplu afmetingen van 150cm' bevat?

Acties:
  • 0 Henk 'm!

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 07:18

Tazzios

..

Kun je dan niet beter op 'van' splitsen?

Acties:
  • 0 Henk 'm!

  • robg1984
  • Registratie: December 2002
  • Laatst online: 07-05 10:53
OverTheTop schreef op maandag 27 juni 2022 @ 02:03:
Maar waarom wil je dit ?
Het is erg onlogisch om een productomschrijving in stukjes te hakken binnen de database. Normaal gesproken laat de de complete productomschrijving in de database staan.
Bij de uitvoer op een webpagina of een rapport hak je deze dan indien nodig is stukjes.
Ik zou het inderdaad ook zo doen.
Vooral in dit geval omdat ik het gevoel krijg dat je niet altijd zomaar op de 2e spatie kunt splitten.

Acties:
  • 0 Henk 'm!

  • petera2
  • Registratie: Juni 2022
  • Laatst online: 27-06-2022
De reden waarom is omdat ik de omschrijvingen moet toevoegen in een bestaande applicatie waarbij de eerste kolom de omschrijving 30 karakters lang is en ik dit kan niet aanpassen
Vroeger Excel gebruikt hiervoor

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Osxy
  • Registratie: Januari 2005
  • Laatst online: 08:37

Osxy

Holy crap on a cracker

Het kan, je moet de laatste spatie in de eerste 30 characters opzoeken en daar op splitsen.

http://sqlfiddle.com/#!18/57c4b3/2

"Divine Shields and Hearthstones do not make a hero heroic."


Acties:
  • 0 Henk 'm!

  • Hoiz
  • Registratie: Augustus 2009
  • Laatst online: 07-05 22:22
petera2 schreef op maandag 27 juni 2022 @ 12:07:
De reden waarom is omdat ik de omschrijvingen moet toevoegen in een bestaande applicatie waarbij de eerste kolom de omschrijving 30 karakters lang is en ik dit kan niet aanpassen
Vroeger Excel gebruikt hiervoor
Dan kan je toch gewoon de eerste x string positions concatenaten met de laatste x string positions? Eventueel kan je LEN gebruiken om te voorkomen dat de string er raar uit gaat zien.

Acties:
  • 0 Henk 'm!

  • Reinier
  • Registratie: Februari 2000
  • Nu online

Reinier

\o/

Heb je je eigen topicstart al een keertje goed doorgelezen? Je voorbeeld slaat namelijk nergens op. En met onduidelijke specs of een onduidelijke vraag ga je geen goede tips krijgen.

Althans, niet van mij :)
Pagina: 1