2011-01-13 8 views
1

ich habe in meiner Datenbank drei Wort-Sätze:SQL Server 2005 Abfrage SUBSTRING & PATINDEX

zum Beispiel: "JKH Drainage Units"

Hat jemand weiß, wie man die ersten Buchstaben des dritten Wortes zu bekommen?

Ich muss das "U" des Wortes "Units" extrahieren.

N.B. Ich habe versucht, SUBSTRING zu verwenden (Phrase, PATINDEX ('%%%', Phrase) + 1, 1) aber es hat nicht für mich funktioniert ...

+0

Definieren Sie "Wort". Oder meinst du nur das erste Nicht-Leerzeichen nach dem zweiten Leerzeichen, unabhängig davon, ob es Teil eines "Wortes" ist oder nicht? –

+0

das erste Leerzeichen nach dem zweiten Leerzeichen ... du hast es besser gesagt als ich :) – Joy

Antwort

0

Ich habe es Schritt für Schritt durchbrochen, nur um die Methode zu meinem Wahnsinn zu zeigen:

declare @Phrase varchar(100) 
set @Phrase = 'JKH Drainage Units' 

/* The first space */ 
select charindex(' ', @Phrase, 1) 

/* The second space */ 
select charindex(' ', @Phrase, charindex(' ', @Phrase, 1) + 1) 

/* The first character after the second space */ 
select substring(@Phrase, charindex(' ', @Phrase, charindex(' ', @Phrase, 1) + 1)+1, 1) 
+0

Danke Joe !!!!!!!!! – Joy