SQL Server-String-Operation: Finden Sie effizient das letzte Vorkommen eines Zeichens
Der Zugriff auf den letzten Index einer Teilzeichenfolge ist bei verschiedenen Datenbankoperationen von entscheidender Bedeutung. Obwohl SQL Server keine direkte LastIndexOf
-Funktion hat, gibt es einige clevere Möglichkeiten, diese Funktionalität zu erreichen.
Eine übliche Problemumgehung besteht darin, die Zeichenfolge umzukehren und mit CHARINDEX
nach dem letzten Vorkommen eines Zeichens zu suchen. Dieser Ansatz kann jedoch umständlich und weniger lesbar sein.
Glücklicherweise führt SQL Server 2016 einige neue Funktionen ein, die diese Aufgabe vereinfachen:
Erhalten Sie die Teilzeichenfolge nach dem letzten Vorkommen eines Zeichens:
Um die Teilzeichenfolge nach dem letzten Vorkommen eines Zeichens zu erhalten, können Sie die folgende Formel verwenden:
<code class="language-sql">select right(db_name(), charindex('_', reverse(db_name()) + '_') - 1)</code>
Dieser Ausdruck kehrt zuerst die Zeichenfolge um und verwendet dann CHARINDEX
, um das letzte Zeichen zu finden. Anschließend wird die Funktion RIGHT
angewendet, um die Teilzeichenfolge zu extrahieren.
Erhalten Sie die Teilzeichenfolge vor dem letzten Vorkommen eines Zeichens:
Alternativ können Sie die folgende Syntax verwenden, wenn Sie die Teilzeichenfolge vor dem letzten Vorkommen eines Zeichens haben möchten:
<code class="language-sql">select left(db_name(), len(db_name()) - charindex('_', reverse(db_name()) + '_'))</code>
Hier bestimmt die Funktion LEN
die Gesamtlänge der Zeichenfolge, während die Funktion LEFT
zum Extrahieren der erforderlichen Teilzeichenfolge verwendet wird.
Durch die Verwendung dieser Techniken können Sie Zeichenfolgen in SQL Server 2016 effizienter bearbeiten und so komplexe Vorgänge einfacher und leichter lesbar machen.
Das obige ist der detaillierte Inhalt vonWie finde ich das letzte Vorkommen eines Zeichens in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!