Opération de chaîne SQL Server : trouver efficacement la dernière occurrence d'un caractère
L'accès au dernier index d'une sous-chaîne est essentiel dans diverses opérations de base de données. Bien que SQL Server ne dispose pas de fonction LastIndexOf
directe, il existe des moyens astucieux d'obtenir cette fonctionnalité.
Une solution de contournement courante consiste à inverser la chaîne et à utiliser CHARINDEX
pour rechercher la dernière occurrence d'un caractère. Cependant, cette approche peut être lourde et moins lisible.
Heureusement, SQL Server 2016 introduit de nouvelles fonctions qui simplifient cette tâche :
Récupérer la sous-chaîne après la dernière occurrence d'un caractère :
Pour obtenir la sous-chaîne après la dernière occurrence d'un caractère, vous pouvez utiliser la formule suivante :
<code class="language-sql">select right(db_name(), charindex('_', reverse(db_name()) + '_') - 1)</code>
Cette expression inverse d'abord la chaîne, puis utilise CHARINDEX
pour trouver le dernier caractère. Ensuite, il applique la fonction RIGHT
pour extraire la sous-chaîne.
Récupérer la sous-chaîne avant la dernière occurrence d'un caractère :
Alternativement, si vous souhaitez la sous-chaîne avant la dernière occurrence d'un caractère, vous pouvez utiliser la syntaxe suivante :
<code class="language-sql">select left(db_name(), len(db_name()) - charindex('_', reverse(db_name()) + '_'))</code>
Ici, la fonction LEN
détermine la longueur totale de la chaîne tandis que la fonction LEFT
est utilisée pour extraire la sous-chaîne requise.
En utilisant ces techniques, vous pouvez manipuler les chaînes dans SQL Server 2016 plus efficacement, rendant les opérations complexes plus simples et plus faciles à lire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!