Maison > base de données > tutoriel mysql > Comment simuler la fonctionnalité LastIndexOf dans SQL Server ?

Comment simuler la fonctionnalité LastIndexOf dans SQL Server ?

DDD
Libérer: 2025-01-12 12:56:42
original
228 Les gens l'ont consulté

How to Simulate LastIndexOf Functionality in SQL Server?

Fonction LastIndexOf simulée dans SQL Server

SQL Server lui-même ne fournit pas directement d'équivalent à la fonction LastIndexOf couramment utilisée dans les langages de programmation. Cependant, il existe d’autres moyens de rechercher la dernière occurrence d’une sous-chaîne dans une chaîne.

Utiliser les fonctions CHARINDEX et REVERSE

Une façon consiste à utiliser les fonctions CHARINDEX et REVERSE ensemble. Cette approche peut être longue et lourde, comme le montre le code fourni dans la question :

<code class="language-sql">SELECT REVERSE(SUBSTRING(REVERSE(DB_NAME()), 1,
    CHARINDEX('_', REVERSE(DB_NAME()), 1) - 1))</code>
Copier après la connexion

Utilisez les fonctions DROITE et ARRIÈRE

Pour une solution plus efficace et plus lisible, vous pouvez combiner les fonctions DROITE et REVERSE. Cette méthode permet de récupérer la sous-chaîne suite à la dernière occurrence d'un caractère spécifié, comme ceci :

<code class="language-sql">select right(db_name(), charindex('_', reverse(db_name()) + '_') - 1)</code>
Copier après la connexion

Utilisez les fonctions GAUCHE et REVERSE

De même, pour récupérer la sous-chaîne avant la dernière occurrence, vous pouvez utiliser la fonction GAUCHE :

<code class="language-sql">select left(db_name(), len(db_name()) - charindex('_', reverse(db_name()) + '_'))</code>
Copier après la connexion

En utilisant ces techniques, vous pouvez effectuer efficacement les dernières opérations d'index dans SQL Server, offrant ainsi une alternative plus intuitive et efficace à l'approche originale.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal