Trouver efficacement la sous-chaîne finale dans SQL Server
Travailler avec des chaînes dans SQL Server nécessite souvent d'identifier la dernière instance d'une sous-chaîne particulière. Bien que des fonctions telles que SUBSTRING
et CHARINDEX
soient utiles pour l'extraction de sous-chaînes, il existe une approche plus concise pour trouver l'occurrence finale.
Cette tâche est gérée avec élégance en combinant les fonctions RIGHT()
et CHARINDEX()
. Pour illustrer, extrayons la partie du nom de la base de données (DB_NAME()
) qui suit le dernier trait de soulignement :
<code class="language-sql">SELECT RIGHT(DB_NAME(), CHARINDEX('_', REVERSE(DB_NAME()) + '_') - 1)</code>
La requête inverse intelligemment le nom de la base de données, localise le trait de soulignement final, puis extrait les caractères à sa droite.
À l'inverse, pour extraire le texte avant le dernier trait de soulignement, utilisez LEFT()
et CHARINDEX()
:
<code class="language-sql">SELECT LEFT(DB_NAME(), LEN(DB_NAME()) - CHARINDEX('_', REVERSE(DB_NAME()) + '_'))</code>
Cela inverse le nom de la base de données, identifie le dernier trait de soulignement et renvoie les caractères précédents.
Ces méthodes fournissent une solution plus propre et plus efficace pour identifier la sous-chaîne finale dans SQL Server, évitant ainsi la manipulation compliquée des chaînes.
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!