Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL String zerlegen

Frage Entwicklung Datenbanken

Mitglied: Antos

Antos (Level 1) - Jetzt verbinden

08.09.2008, aktualisiert 09.09.2008, 18450 Aufrufe, 2 Kommentare

Hat einer ne Idee wie ich am besten 'n String zerhack? MSSQL

Hallo zusammen,

ich steh vor folgender Herausforderung. Ich hab eine Tabelle in der sich eine Spalte string befindet. Ein Wert sieht z.B. so aus:

AWUVUZ,30-0-0,PräfEG,AE-MiK

oder

AWUVUZ,PräfEG,AE-MiK,60-0-0,Z4-PU

Ich brauche jetzt aus dem String den "Zahlenwert". Also aus dem ersten '30-0-0', aus dem zweiten '60-0-0' für eine Abfrage in einer anderen Tabelle.
Hat einer eine Idee wie ich jeweils die Substring's von Komma zu Komma auslesen kann?

erstens = substring(SPALTE, 0, CHARINDEX(',', SPALTE))

gibt mir leider nur den String bis zum ersten Komma aus, keine Ahnung wie ich da ein Komma weiterspringen kann.
Das zweite wäre evtl. mit LEFT-RIGHT zu bewerkstelligen, aber die Anzahl der Kommas sind nicht festgelegt.Daher mal 5, mal 3 usw.
Für Tipps bin ich dankbar!
mfg
Antos
Mitglied: SvenGuenter
08.09.2008 um 17:33 Uhr
Versuch mal diese Funktion. Einfach anlegen und string übergeben

01.
CREATE FUNCTION [dbo].[splitfunction] 
02.
03.
 @Position INTEGER, 
04.
 @List VARCHAR(2000),   
05.
 @Delimiter VARCHAR(1) 
06.
07.
RETURNS VARCHAR(2000)  
08.
AS 
09.
BEGIN 
10.
 DECLARE @RetVal VARCHAR(2000) SET @RetVal = ''   
11.
 DECLARE @Counter  INT SET @Counter = 0 
12.
 DECLARE @StartPos INT 
13.
 DECLARE @Length INT 
14.
 DECLARE @DelimPos INT SET @DelimPos = 0 
15.
 
16.
 WHILE @Counter < @Position 
17.
  BEGIN 
18.
   SET @Counter = @Counter + 1   -- zaehler 
19.
   SET @StartPos = @DelimPos + 1 -- startposition 
20.
   SET @DelimPos = CHARINDEX(@Delimiter,@List,@DelimPos + 1)   --nächsten Delimiter finden 
21.
    
22.
   IF @DelimPos = 0 
23.
   BEGIN 
24.
     
25.
    IF @Counter = @Position SET @Length = (LEN(@List)+1)-@StartPos 
26.
 
27.
    ELSE SET @Length = -1 
28.
   END 
29.
   ELSE SET @Length = @DelimPos - @StartPos   
30.
  END 
31.
  -- Rückgabe des Strings 
32.
  IF @Length > 0 SET @RetVal = SUBSTRING(@List,@StartPos,@Length) 
33.
  RETURN @RetVal 
34.
END
Bitte warten ..
Mitglied: Antos
09.09.2008 um 08:27 Uhr
Vielen Dank SvenGuenter ,
funkt einwandfrei!!

mfg
Bitte warten ..
Ähnliche Inhalte
Sonstige Systeme
Batch Dateinamen zerlegen (5)

Frage von Mummel zum Thema Sonstige Systeme ...

Visual Studio
gelöst DotNet String Sortierung (5)

Frage von emeriks zum Thema Visual Studio ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten (6)

Frage von ahstax zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell select-string -pattern (2)

Frage von LianenSchwinger zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (30)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (14)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...