Developpez.com

Télécharger gratuitement le magazine des développeurs, le bimestriel des développeurs avec une sélection des meilleurs tutoriels

Developpez.com - SGBD & SQL
X

Choisissez d'abord la catégorieensuite la rubrique :


Espace Web allemand d'Igor Nikiforov

Date de publication : 05/10/2005

Par Igor2004 (nikiforov.developpez.com/allemand)
 



Sehr geehrte Damen und Herren,
                                                                                                            
hiermit möchte ich Ihnen kostenlos die folgenden Transact-SQL Funktionen anbieten:
                                                                                                            
AT(): Gibt die numerische Anfangsposition zurück, an der ein Zeichenausdruck zum ersten Mal in einem
      anderen Zeichenausdruck vorkommt, und zwar vom äußersten linken Zeichen aus gerechnet.
RAT():Gibt für eine Zeichenfolge die numerische Position zurück, ab der der Ausdruck das letzte Mal
      (äußerst rechts) in einer anderen Zeichenfolge vorkommt.
OCCURS(): Gibt den Wert zurück, wie oft ein Zeichenausdruck in einem anderen Zeichenausdruck
           vorkommt (einschließlich Deckungen).
OCCURS2():Gibt den Wert zurück, wie oft ein Zeichenausdruck in einem anderen Zeichenausdruck
          vorkommt (ausschließlich der Deckungen).
PADL(): Gibt aus einem Ausdruck eine Zeichenfolge zurück, die links bis zu einer angegebenen
        Länge mit Leerzeichen oder Zeichen aufgefüllt ist.
PADR(): Gibt aus einem Ausdruck eine Zeichenfolge zurück, die rechts bis zu einer angegebenen
        Länge mit Leerzeichen oder Zeichen aufgefüllt ist.
PADC(): Gibt aus einem Ausdruck eine Zeichenfolge zurück, die auf beiden Seiten bis zu einer angegebenen
        Länge mit Leerzeichen oder Zeichen aufgefüllt ist.
CHRTRAN(): Jedes Zeichen in einem Zeichenausdruck, das einem Zeichen in einem zweiten Zeichenausdruck
           entspricht, wird durch das entsprechende Zeichen eines dritten Zeichenausdrucks ersetzt.
STRTRAN(): Durchsucht einen Zeichenausdruck nach dem Auftreten eines zweiten Zeichenausdrucks und ersetzt
           diesen jeweils durch einen dritten Zeichenausdruck. Im Unterschied zur integrierten
           Funktion Replace, hat STRTRAN drei zusätzliche Parameter.
STRFILTER(): Entfernt alle Buchstaben aus einer Zeichenkette, ausgenommen den spezifizierten Zeichen.
GETWORDCOUNT():Zählt die Anzahl der Wörter in einer Zeichenfolge.
GETWORDNUM():  Gibt ein angegebenes Wort aus einer Zeichenfolge zurück.
GETALLWORDS(): Fügt die Wörter aus einer Zeichenkette in eine Tabelle ein.
PROPER(): Gibt für einen Zeichenausdruck eine Zeichenfolge zurück, deren Wörter entsprechend
          den Regeln für Eigennamen mit Großbuchstaben beginnen.
RCHARINDEX():  ähnlich der Transact-SQL Funktion Charindex, jedoch mit von rechts beginnender Suche.
ARABTOROMAN(): Wandelt einen numerischen Ausdruck (von 1 bis 3999) in römische Ziffern um.
ROMANTOARAB(): Wandelt römische Ziffern (von I zu MMMCMXCIX) in einen numerischen Ausdruck um.
                                                                                                            
AT, PADL, PADR, CHRTRAN, PROPER:  Ähnlich zu den bekannten Oracle Funktionen
PL/SQL INSTR, LPAD, RPAD, TRANSLATE, INITCAP.
                                                                                                           
Mehr als  10 000 Entwickler haben bereits meine Funktionen gedownloadet.
Ich hoffe, dass sie auch für Sie nützlich sind.
                                                                                                            
Mit freundlichen Grüßen.
                                                                                                            
                                                                                                            
AT()
Gibt die numerische Anfangsposition zurück, an der ein Zeichenausdruck zum ersten Mal in einem
anderen Zeichenausdruck vorkommt, und zwar vom äußersten linken Zeichen aus gerechnet.
Syntax
AT(@cSearchExpression, @cExpressionSearched [, @nOccurrence])
Parameter
@cSearchExpression - Gibt den Zeichenausdruck an, nach dem AT() in @cExpressionSearched sucht.
@cExpressionSearched - Gibt den Zeichenausdruck an, in dem mit @cSearchExpression gesucht wird.
Sowohl @cSearchExpression als auch @cExpressionSearched können von beliebiger Größe sein. 
@nOccurrence - Gibt an, nach dem wie vielten Vorkommen (ersten, zweiten, dritten usw.)
von @cSearchExpression in @cExpressionSearched gesucht werden soll. Standardmäßig
sucht AT() nach dem ersten Vorkommen von @cSearchExpression (@nOccurrence = 1).
Durch Angabe von @nOccurrence können Sie weitere Vorkommen von @cSearchExpression
in @cExpressionSearched suchen. Wenn @nOccurrence größer ist als die Anzahl der Vorkommen
von @cSearchExpression in @cExpressionSearched, gibt AT() den Wert 0 zurück.
Rückgabewert   Smallint
Hinweise
AT() sucht im zweiten Zeichenausdruck nach dem ersten Vorkommen des ersten Zeichenausdrucks.
Ist die Suche erfolgreich, gibt AT() eine ganze Zahl zurück, die die Position des ersten Zeichens
des gefundenen Zeichenausdrucks angibt. Ist die Suche nicht erfolgreich, gibt AT() den Wert 0 zurück.
                                                                                                            
Die mit AT() ausgeführte Suche berücksichtigt Groß- und Kleinschreibung.
Wenn Sie einen Suchvorgang ausführen möchten, bei dem die Groß-/Kleinschreibung nicht
berücksichtigt wird, verwenden Sie die ATC()-Funktion.
                                                                                                            
Ähnlich zu der bekannten Oracle-Funktion INSTR.
                                                                                                            
Siehe auch RAT().
Beispiel
declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'Johann Wolfgang von Goethe (1749-1832)', @gcFindString = 'von'
select dbo.AT(@gcFindString, @gcString, default) -- Anzeige 17
set @gcFindString = 'VON'
select dbo.AT(@gcFindString, @gcString, default) -- Anzeige 0, case-sensitive
                                                                                                            
ATC()
Gibt die numerische Anfangsposition des ersten Auftretens eines Zeichenausdrucks innerhalb eines
anderen Zeichenausdrucks zurück, ohne die Groß-/Kleinschreibung dieser beiden
Ausdrücke zu berücksichtigen.
Syntax
ATC(@cSearchExpression, @cExpressionSearched [, @nOccurrence])
Parameter
@cSearchExpression - Gibt den Zeichenausdruck an, nach dem ATC() in @cExpressionSearched sucht.
Der Ausdruck kann von beliebiger Größe sein.
@cExpressionSearched - Gibt den Zeichenausdruck an, in dem mit @cSearchExpression gesucht wird.
Der Ausdruck kann von beliebiger Größe sein.
@nOccurrence - Gibt an, nach dem wie vielten Vorkommen (ersten, zweiten, dritten usw.)
von @cSearchExpression in @cExpressionSearched gesucht werden soll. Standardmäßig
sucht ATC() nach dem ersten Vorkommen von @cSearchExpression (@nOccurrence = 1).
Durch Angabe von @nOccurrence können Sie weitere Vorkommen von @cSearchExpression
in @cExpressionSearched suchen.
Rückgabewert  Smallint
Hinweise
ATC() sucht im zweiten Zeichenausdruck nach dem ersten Zeichenausdruck, ohne dabei für
die beiden Ausdrücke die Groß-/Kleinschreibung (Groß- oder Kleinbuchstaben)
zu berücksichtigen. Soll bei einem Suchvorgang die Groß-/Kleinschreibung
berücksichtigt werden, verwenden Sie die AT()-Funktion.
                                                                                                          
ATC() gibt eine ganze Zahl zurück, die die Position angibt, an der das erste Zeichen
des gesuchten Zeichenausdrucks gefunden wurde. Wird der jeweilige Zeichenausdruck nicht gefunden,
gibt ATC() den Wert 0 zurück.
Siehe auch AT(), RAT().
Beispiel
declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'Johann Wolfgang von Goethe (1749-1832)', @gcFindString = 'VON'
select dbo.ATC(@gcFindString, @gcString, default) -- Anzeige 17, case-insensitive
                                                                                                          
RAT()
Gibt für eine Zeichenfolge die numerische Position zurück, ab der der Ausdruck
das letzte Mal (äußerst rechts) in einer anderen Zeichenfolge vorkommt.
Syntax
RAT(@cSearchExpression, @cExpressionSearched [, @nOccurrence])
Parameter
@cSearchExpression - Gibt den Zeichenausdruck an, nach dem RAT() in @cExpressionSearched sucht.
Der Ausdruck kann von beliebiger Größe sein.
@cExpressionSearched - Gibt den Zeichenausdruck an, den RAT() durchsucht.
Der Ausdruck kann von beliebiger Größe sein.
@nOccurrence - Gibt an, nach welchem Vorkommen (von links nach rechts) von @cSearchExpression RAT()
in @cExpressionSearched sucht. Standardmäßig sucht RAT() nach dem letzten Vorkommen
von @cSearchExpression (@nOccurrence = 1). Wenn @nOccurrence gleich 2 ist,
sucht RAT() nach dem vorletzten Vorkommen usw.
Rückgabewert Smallint
Hinweise
RAT(), die Umkehrfunktion zu AT(), durchsucht den Zeichenausdruck in @cExpressionSearched
von rechts nach links nach dem letzten Auftreten der in @cSearchExpression angegebenen Zeichenfolge.
                                                                                                          
RAT() gibt eine ganze Zahl zurück, die die Position des ersten Zeichens von @cSearchExpression
in @cExpressionSearched angibt. RAT() gibt 0 zurück, wenn @cSearchExpression nicht
in @cExpressionSearched gefunden wird oder wenn @nOccurrence größer ist als die Anzahl
des Auftretens von @cSearchExpression in @cExpressionSearched.
Hinweise
Die mit RAT() ausgeführte Suche berücksichtigt Groß- und Kleinschreibung.
                                                                                                         
Siehe auch AT(), ATC().
Beispiel
declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'"Alles Vergängliche / Ist nur ein Gleichnis // Das Unzulängliche,
// Hier wirds Ereignis; // Das Unbeschreibliche, // Hier ist es getan; // Das Ewig- Weibliche 
// Zieht uns hinan. " - Faust II, Vers 12104ff, Chorus mysticus ', @gcFindString = 'Das'
select dbo.RAT(@gcFindString, @gcString, 2) -- Anzeige 94, case-sensitive
                                                                                                          
OCCURS(), OCCURS2()
Gibt den Wert zurück, wie oft ein Zeichenausdruck in einem anderen Zeichenausdruck vorkommt.
Syntax
OCCURS(@cSearchExpression, @cExpressionSearched)
OCCURS2(@cSearchExpression, @cExpressionSearched)
Parameter
@cSearchExpression - Gibt einen Zeichenausdruck an, den OCCURS() in @cExpressionSearched sucht.
@cExpressionSearched - Gibt den Zeichenausdruck an, in dem OCCURS() nach @cSearchExpression sucht.
Rückgabewert Smallint
Hinweise
OCCURS() gibt 0 (Null) zurück, wenn @cSearchExpression nicht in @cExpressionSearched gefunden wird.
                                                                                                          
OCCURS(): einschließlich Deckungen.
select dbo.OCCURS('ABCA', 'ABCABCABCA') -- Anzeige 3
1 Auftreten 'ABCA .. BCABCA' 
2 Auftreten 'ABC...ABCA...BCA' 
3 Auftreten 'ABCABC...ABCA'
OCCURS2(): ausschließlich der Deckungen.
select dbo.OCCURS2('ABCA', 'ABCABCABCA') -- Anzeige 2
1 Auftreten 'ABCA .. BCABCA' 
2 Auftreten 'ABCABC... ABCA'
                                                                                                          
Siehe auch AT(), RAT(), OCCURS2()
Beispiel 1
declare @gcString nvarchar(4000)
select @gcString = '"Blut ist ein ganz besondrer Saft." - Faust I, Vers 1740, Mephistopheles '
select dbo.OCCURS('a', @gcString ) -- Anzeige 3
select dbo.OCCURS('b', @gcString ) -- Anzeige 1
Beispiel 2
Zählt das Auftreten verschiedener Buchstaben aus der Zeichenkette @gcCaracters
in der Zeichenkette @gcString.
                                                                                                           
declare @gcString nvarchar(4000), @gcCaracters nvarchar(256), @i smallint, @counter smallint
select @i = 1, @counter = 0
select @gcString = N'Den Teufel spürt das Völkchen nie,
und wenn er sie beim Kragen hätte.', @gcCaracters = N'abccaü'
while @i <= datalength(@gcCaracters)/2
    begin
       if charindex(substring(@gcCaracters,@i,1), left(@gcCaracters, @i - 1)) = 0
           select @counter = @counter + dbo.OCCURS2(substring(@gcCaracters,@i,1), @gcString) 
           select @i = @i + 1
    end
select @counter -- Anzeige 5
                                                                                                          
                                                                                                         
PADL(), PADR(), PADC()
Gibt aus einem Ausdruck eine Zeichenfolge zurück, die links, rechts oder auf beiden
Seiten bis zu einer angegebenen Länge mit Leerzeichen oder Zeichen aufgefüllt ist.
Syntax
PADL(@eExpression, @nResultSize [, @cPadCharacter])
PADR(@eExpression, @nResultSize [, @cPadCharacter])
PADC(@eExpression, @nResultSize [, @cPadCharacter])
Parameter
@eExpression - Gibt den aufzufüllenden Ausdruck an. Bei diesem Ausdruck kann es sich
um jeden Ausdruckstyp mit Ausnahme eines logischen Ausdrucks bzw. einer Währung,
eines Objekt- oder eines Bildfeldes handeln.
@nResultSize - Gibt die Gesamtzahl der Zeichen im Ausdruck nach dem Auffüllen an. 
@cPadCharacter - Gibt den Wert an, der zum Auffüllen verwendet werden soll.
Dieser Wert wird so oft wiederholt, bis der Ausdruck auf die angegebene Anzahl an Zeichen
aufgefüllt ist. Wenn Sie @cPadCharacter nicht angeben, werden zum Auffüllen 
Leerzeichen (ASCII-Zeichen 32) verwendet.
Rückgabewert Nvarchar(4000)
Hinweise
Mit PADL() wird ein Ausdruck links, mit PADR() rechts und mit PADC() auf beiden Seiten aufgefüllt.
PADL, PADR:  Ähnlich zu den bekannten Oracle Funktionen PL/SQL LPAD, RPAD
Beispiel
declare @gcString nvarchar(4000)
select @gcString = 'Mephistopheles' 
select dbo.PADL(@gcString, 40, default) -- Anzeige '                          Mephistopheles'
select dbo.PADL(@gcString, 40, '+=+')   -- Anzeigen'+=++=++=++=++=++=++=++=++=Mephistopheles'
select dbo.PADR(@gcString, 40, '=!!!=') -- Anzeige 'Mephistopheles=!!!==!!!==!!!==!!!==!!!=='
select dbo.PADC(@gcString, 40, '=*=')   -- Anzeige '=*==*==*==*==Mephistopheles=*==*==*==*=='
                                                                                                           
                                                                                                            
CHRTRAN()
Jedes Zeichen in einem Zeichenausdruck, das einem Zeichen in einem zweiten Zeichenausdruck entspricht,
wird durch das entsprechende Zeichen eines dritten Zeichenausdrucks ersetzt.
Syntax
CHRTRAN(cSearchedExpression, @cSearchExpression, @cReplacementExpression)
Parameter
cSearchedExpression - Gibt den Ausdruck an, in dem CHRTRAN() Zeichen ersetzt. 
@cSearchExpression - Gibt den Ausdruck mit den Zeichen an, nach denen CHRTRAN() 
in cSearchedExpression sucht.
@cReplacementExpression - Gibt den Ausdruck mit den Ersetzungszeichen an.
Rückgabewert Nvarchar(4000)
Hinweise
Wird ein Zeichen aus @cSearchExpression in cSearchedExpression gefunden, wird es in cSearchedExpression
durch das Zeichen in @cReplacementExpression ersetzt, dessen Position in @cReplacementExpression
seiner Position in @cSearchExpression entspricht. Hat @cReplacementExpression weniger Zeichen
als @cSearchExpression, werden die übrigen Zeichen aus @cSearchExpression
in cSearchedExpression gelöscht. Im umgekehrten Fall werden die überschüssigen
Zeichen in @cReplacementExpression ignoriert.
                                                                                                            
CHRTRAN() übersetzt mit Hilfe der Übersetzungsausdrücke @cSearchExpression
und @cReplacementExpression den Zeichenausdruck cSearchedExpression und gibt die sich ergebende
Zeichenfolge zurück.
                                                                                                            
Ähnlich zu der bekannten Oracle-Funktion TRANSLATE.
                                                                                                            
Siehe auch STRFILTER()
Beispiel
select dbo.CHRTRAN('ABCDEF', 'ACE', 'XYZ') -- Anzeige 'XBYDZF'
select dbo.CHRTRAN('ABCDEF', 'ACE', 'XYZQRST') -- Anzeige 'XBYDZF'
                                                                                                            
                                                                                                            
STRTRAN()
Durchsucht einen Zeichenausdruck nach dem Auftreten eines zweiten Zeichenausdrucks
und ersetzt diesen jeweils durch einen dritten Zeichenausdruck.
Syntax
STRTRAN(@cSearched, @cExpressionSought [, @cReplacement]
 [, @nStartOccurrence] [, @nNumberOfOccurrences] [, @nFlags])
Parameter
@cSearched - Gibt den Zeichenausdruck an, der durchsucht wird.
@cExpressionSought - Gibt den Zeichenausdruck an, nach dem in @cSearched gesucht wird.
Bei der Suche wird die Groß- und Kleinschreibung berücksichtigt.
@cReplacement - Gibt den Zeichenausdruck an, der cSearchFor bei jedem Auftreten
in @cSearched ersetzt. Wenn Sie @cReplacement nicht angeben, wird @cExpressionSought
bei jedem Auftreten durch eine leere Zeichenfolge ersetzt.
@nStartOccurrence - Gibt an, bei welchem Auftreten von @cExpressionSought die Ersetzung beginnen soll.
Wenn Sie beispielsweise für @nStartOccurrence den Wert 4 angeben, beginnt das Ersetzen
beim vierten Auftreten von @cExpressionSought in @cSearched. Die ersten drei aufgetretenen
Ausdrücke werden nicht geändert. Ohne Angabe von @nStartOccurrence beginnt
das Ersetzen standardmäßig beim ersten Auftreten von @cExpressionSought.
@nNumberOfOccurrences - Gibt an, wie oft @cExpressionSought ersetzt werden soll. 
Wenn Sie @nNumberOfOccurrences nicht angeben, wird @cExpressionSought bei jedem Auftreten ersetzt,
beginnend mit dem in @nStartOccurrence angegebenen Auftreten.
@nFlags - Gibt an, ob bei der Suche die Groß-/Kleinschreibung berücksichtigt werden soll,
und zwar entsprechend den Werten in der folgenden Liste: Wert für @nFlags.
0 (Standardwert) - Beim Suchen wird die Groß-/Kleinschreibung berücksichtigt,
   das Ersetzen findet mit dem exakten @cReplacement-Text statt.
1 - Beim Suchen wird die Groß-/Kleinschreibung nicht berücksichtigt,
    das Ersetzen findet mit dem exakten @cReplacement-Text statt.
2 - Beim Suchen wird die Groß-/Kleinschreibung berücksichtigt.
    Die Groß-/Kleinschreibung beim Parameter @cReplacement wird an die 
	Groß-/Kleinschreibung beim Parameter @cExpressionSought angepasst, der ersetzt wird.
3 - Beim Suchen wird die Groß-/Kleinschreibung nicht berücksichtigt.
    Die Groß-/Kleinschreibung beim Parameter @cReplacement wird an die
    Groß-/Kleinschreibung beim Parameter @cExpressionSought angepasst, der ersetzt wird.
Rückgabewert Nvarchar(4000)
Hinweise
Sie können angeben, wo die Ersetzung beginnen und wie oft diese durchgeführt werden soll.
STRTRAN() gibt die Ergebniszeichenfolge zurück.
Geben Sie den Wert -1 für optionale Parameter ein, die übersprungen werden sollen.
Gleiches gilt, wenn Sie nur die Einstellung für @nFlags angeben wollen.
                                                                                                          
Siehe auch replace(), CHRTRAN()
Beispiel
select dbo.STRTRAN('ABCDEF', 'ABC', 'XYZ',-1,-1,0)   -- Anzeige XYZDEF
select dbo.STRTRAN('ABCDEF', 'ABC', default,-1,-1,0) -- Anzeige DEF
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', default,2,-1,0)  -- Anzeige ABCDEFGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', default,2,-1,1)  -- Anzeige ABCDEFGHJQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 1, 1)  -- Anzeige ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 3, 1)  -- Anzeige ABCDEFXYZGHJXYZQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 1, 2)  -- Anzeige ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 3, 2)  -- Anzeige ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'xyZ', 2, 1, 2)  -- Anzeige ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'xYz', 2, 3, 2)  -- Anzeige ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFAbcCGHJAbcQWE', 'Aab', 'xyZ', 2, 1, 2) -- Anzeige ABCDEFAbcCGHJAbcQWE
select dbo.STRTRAN('abcDEFabcGHJabcQWE', 'abc', 'xYz', 2, 3, 2)  -- Anzeige abcDEFxyzGHJxyzQWE
select dbo.STRTRAN('ABCDEFAbcCGHJAbcQWE', 'Aab', 'xyZ', 2, 1, 3) -- Anzeige ABCDEFAbcCGHJAbcQWE
select dbo.STRTRAN('ABCDEFAbcGHJabcQWE', 'abc', 'xYz', 1, 3, 3)  -- Anzeige XYZDEFXyzGHJxyzQWE
                                                                                                         
                                                                                                         
STRFILTER()
Entfernt alle Buchstaben aus einer Zeichenkette, ausgenommen den spezifizierten Zeichen.
Syntax
STRFILTER(@cExpressionSearched, @cSearchExpression)
Rückgabewert
Nvarchar(4000)
Parameter
@cExpressionSearched - Spezifiziert die Zeichenfolge, die durchsucht werden soll.
@cSearchExpression - Spezifiziert die Buchstaben, die in @cExpressionSearched erhalten
bleiben sollen.
Hinweise
STRFILTER() entfernt alle Buchstaben von @cExpressionSearched, die nicht
in @cSearchExpression enthalten sind.
                                                                                                          
Siehe auch CHRTRAN().
Beispiel
select dbo.STRFILTER('asdfghh5hh1jk6f3b7mn8m3m0m6','0123456789') -- Anzeige 516378306
select dbo.STRFILTER('ABCDABCDABCD', 'AB') -- Anzeige ABABAB
                                                                                                          
                                                                                                         
GETWORDCOUNT()
Zählt die Anzahl der Wörter in einer Zeichenfolge.
Syntax
GETWORDCOUNT(@cString[, @cDelimiters])
Parameter
@cString - Gibt die Zeichenfolge an, deren Wörter gezählt werden sollen.
@cDelimiters - Gibt ein oder mehrere Zeichen an, durch die Zeichengruppen in @cString
getrennt werden sollen. Die Standardtrennzeichen sind Leerzeichen, Tabulator-
und Wagenrücklaufzeichen. Beachten Sie, dass GETWORDCOUNT() jedes der Zeichen
in @cDelimiters als Trennzeichen verwendet und nicht die ganze Zeichenkette als einzelnes Trennzeichen.
Rückgabewert Smallint
Hinweise
GETWORDCOUNT() geht standardmäßig davon aus, dass Wörter durch Leerzeichen
oder Tabstopps getrennt werden. Wenn Sie als Trennzeichen andere Zeichen angeben,
ignoriert diese Funktion Leerzeichen und Tabstopps und verwendet nur die angegebenen Zeichen.
                                                                                                         
Siehe auch GETWORDNUM(), GETALLWORDS()
Beispiel
declare @cString nvarchar(4000)
set @cString = N'Werd ich zum Augenblicke sagen: Verweile doch! Du bist so schön!
Dann magst du mich in Fesseln schlagen, dann will ich gern zugrunde gehn!'
-- Wenn Sie als Zielzeichenfolge für GETWORDCOUNT() @cString verwenden,
-- erhalten Sie folgende Ergebnisse:
select dbo.GETWORDCOUNT(@cString, default) -- Anzeige 34 Wörter, getrennt duch Leerzeichen.
select dbo.GETWORDCOUNT(@cString, ',') -- Anzeige 2 Zeichnfolgen abgegrenzt mit ','.
                                                                                                           
GETWORDNUM()
Gibt ein angegebenes Wort aus einer Zeichenfolge zurück.
Syntax
GETWORDNUM(@cString, @nIndex[, @cDelimiters])
Parameter
@cString - Gibt die Zeichenfolge zurück, die ausgewertet werden soll. 
@nIndex - Gibt die Indexposition des zurückzugebenden Worts an. Wenn beispielsweise
@nIndex auf 3 gesetzt ist, gibt GETWORDNUM() das dritte Wort zurück
(wenn @cString drei oder mehr Wörter enthält).
@cDelimiters - Gibt ein oder mehrere optionale Zeichen an, die verwendet werden,
um die Wörter in @cString zu trennen. Die Standardtrennzeichen sind Leerzeichen,
Tabulator- und Wagenrücklaufzeichen. Beachten Sie, dass GETWORDCOUNT()
jedes der Zeichen in @cDelimiters als Trennzeichen verwendet und nicht die ganze
Zeichenkette als einzelnes Trennzeichen.
Rückgabewert Nvarchar(4000)
Hinweise
Gibt das Wort an der Position zurück, die von @nIndex in der Zielzeichenfolge
@cString angegeben wurde. Wenn @cString weniger Wörter als die in @nIndex angegebene
Anzahl enthält, gibt GETWORDNUM() eine leere Zeichenfolge zurück.
                                                                                                           
Siehe auch GETWORDCOUNT(), GETALLWORDS()
Beispiel
declare @cString nvarchar(4000)
set @cString = N'Wer immer strebend sich bemüht, Den können wir erlösen.'
select dbo.GETWORDNUM(@cString, 7, default) -- Anzeige 'können'
                                                                                                           
                                                                                                           
GETALLWORDS()
Fügt die Wörter aus einer Zeichenkette in eine Tabelle ein.
Syntax
GETALLWORDS(@cString[, @cDelimiters])
Parameter
@cString nvarchar(4000) - Spezifiziert die Zeichenkette, deren Wörter in die
Tabelle @GETALLWORDS eingesetzt werden.
@cDelimiters - Gibt ein oder mehrere Zeichen an, durch die Zeichengruppen in @cString
getrennt werden sollen. Die Standardtrennzeichen sind Leerzeichen, Tabulator- und
Wagenrücklaufzeichen. Beachten Sie, dass GETWORDCOUNT() jedes der Zeichen in
@cDelimiters als Trennzeichen verwendet und nicht die ganze Zeichenkette als einzelnes Trennzeichen.
Rückgabewert  Tabelle @GETALLWORDS (WORDNUM smallint, WORD nvarchar(4000),
                                         STARTOFWORD smallint, LENGTHOFWORD smallint)
Hinweise
GETWORDCOUNT() geht standardmäßig davon aus, dass Wörter durch Leerzeichen
oder Tabstopps getrennt werden. Wenn Sie als Trennzeichen andere Zeichen angeben,
ignoriert diese Funktion Leerzeichen und Tabstopps und verwendet nur die angegebenen Zeichen.
                                                                                                           
Siehe auch GETWORDNUM(), GETWORDCOUNT().
Beispiel
declare @cString nvarchar(4000)
set @cString = N'Wo fass ich dich, unendliche Natur? Euch Brüste, wo? Ihr Quellen alles Lebens'
select * from dbo.GETALLWORDS(@cString, default)
select * from dbo.GETALLWORDS(@cString, ' ,.?')
                                                                                                            
                                                                                                            
PROPER()
Gibt für einen Zeichenausdruck eine Zeichenfolge zurück, deren Wörter
kleingeschrieben sind, aber jeweils mit einem Großbuchstaben beginnen.
Syntax
PROPER(@cExpression)
Parameter
@cExpression - Gibt den Zeichenausdruck an, von dem PROPER() eine Zeichenfolge zurückgibt,
deren Wörter kleingeschrieben sind, aber jeweils mit einem Großbuchstaben beginnen.
Rückgabewert Nvarchar(4000)
                                                                                                           
Ähnlich zu der bekannten Oracle-Funktion INITCAP.
Siehe auch lower(), upper().
Beispiel
select dbo.PROPER(N'JOHANN CARL FRIEDRICH GAUß') -- Anzeige 'Johann Carl Friedrich Gauß'
                                                                                                               
ARABTOROMAN()
Wandelt einen numerischen Ausdruck (von 1 bis 3999) in römische Ziffern um.
Syntax
ARABTOROMAN(@tNum)
Parameter
@tNum Zahl
Rückgabewert Varchar(15)
Beispiel
select dbo.ARABTOROMAN(1777) -- Anzeige MDCCLXXVII
ROMANTOARAB()
Wandelt römische Ziffern (von I bis MMMCMXCIX) in einen numerischen Ausdruck um.
Syntax
ROMANTOARAB(@tcRomanNumber)
Parameter
@tcRomanNumber - varchar(15) römische Ziffern.
Rückgabewert Smallint
Beispiel
select dbo.ROMANTOARAB('MDCCCLV') -- Anzeige 1855
 
Vielen Dank an Uwe Habermann für die Übersetzung der vollständigen Funktionsbeschreibungen ins Deutsche.

Das Team von Visual Extend bedankt sich ganz herzlich für die Erlaubnis, die sehr schönen Funktionen für die Umsetzung von Visual FoxPro-basierten Abfragen auf dem SQL-Server bei der neuen Version 9.5 des Frameworks VFX mitliefern zu dürfen! Details zu der Einbindung der Funktionen finden Sie unter http://www.visualextend.de

Wenn Sie zusätzliche deutsche Dokumentation, Benutzeroberflächen oder Hilfedateien für Visual FoxPro benötigen, besuchen Sie den internationalen Online shop der deutschen FoxPro User Group, dFPUG



Valid XHTML 1.1!Valid CSS!

Contacter le responsable de la rubrique SGBD & SQL