MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > SQL
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 21.08.2017, 17:17   #1
Lexenlewax
Neuer Benutzer
Neuer Benutzer
Standard T-SQL : MSSQL 2010 - Zeichenkette zwischen zwei Zeichen herauslesen

Hallo,

Ich arbeite gerade an meiner ersten Querry.

In einer Tabelle habe ich ein Referenzfeld dessen Werte mit "/" getrennt sind.
Dabei variiert die Länge der einzelnen Zeichen zwischen "/".

Wie kann ich das nun "extrahieren"?

Hier einige Beispiele, wie das Referenzfeld aussehen kann:

tdsls031/SAA003156/1/12/0//0/100
tdsls031/SAA003534/17/1/0//0/1003

Danke für eure Hilfe!

Gruß Lexenlewax
Lexenlewax ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.08.2017, 21:38   #2
Markus Chemnitz
MOF Koryphäe
MOF Koryphäe
Standard

also im SQL Server schreibt man dazu am Besten eine Function:

Code:

create function dbo.zwischen_slash (@n varchar(255)) returns varchar(255)
begin
declare @p1 int
declare @p2 int
declare @r varchar(255)

set @r = ''
set @p1 = charindex('/', @n)
if ( @p1 > 0 ) begin
 set @p2 = charindex('/', @n, @p1 + 1)
 if ( @p2 > 0 )
  set @r = substring(@n, @p1 + 1, @p2 - @p1 - 1)
 end
return @r
end
Aufruf dann per:

Code:

select dbo.zwischen_slash (feld_name) from deine_tabelle
Wäre ganz gut wenn Du noch schreibst mit welchem System Du arbeitest. ACCESS und Co. sind im SQL Thread eher nicht so gut aufgehoben.

__________________

MarkB

Vom Leben nichts zu erwarten, ist das Geheimnis aller echten Heiterkeit!

Geändert von Markus Chemnitz (24.08.2017 um 21:46 Uhr).
Markus Chemnitz ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.08.2017, 22:10   #3
hcscherzer
MOF Guru
MOF Guru
Standard

Die Function vom Markus gibt ja nun nur die Zeichen zurück, die zwischen dem ersten und dem zweiten Slash liegen ...

Wenn ich den TS richtig verstanden habe, möchte er aber alle Zeichen "extrahieren".
Aber aus dieser kurzen Beschreibung habe ich noch nicht kapiert, was mit den sieben (oder acht) Zeichenketten geschehen soll ... es sind ja an einer Stelle zwei Slashs direkt hintereinander ... das würde ich als Leerstring dazwischen interpretieren - deshalb acht.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.08.2017, 08:26   #4
fraeser
MOF Meister
MOF Meister
Standard

Vielleicht läuft ja diese Funktion auf dem SQL Server 2010...
https://docs.microsoft.com/en-us/sql...t-transact-sql

__________________

Gruß, Jan

Zitat:

Programmieren und Microsoftail: "Gestern stand ich noch am Abgrund.....heute bin ich einen Schritt weiter....!"

fraeser ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.08.2017, 21:03   #5
Markus Chemnitz
MOF Koryphäe
MOF Koryphäe
Standard

STRING_SPLIT ist offiziell erst ab SQL Server 2016 implementiert. Ich habe es auch noch nicht ausprobiert, weil ich den SQL Server 2016 leider nur noch unter bestimmten (sehr neuen) Systemen installieren darf. Bin da kein Fan davon ... Meine 'alten' Systeme liefern alles was ich brauche und nötig habe - Win2008 R2 Enterprise und dgl.

__________________

MarkB

Vom Leben nichts zu erwarten, ist das Geheimnis aller echten Heiterkeit!
Markus Chemnitz ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.