J'ai quelques données dans SQL Server: sortie souhaitée: p>
6 Réponses :
Vous pouvez utiliser Démo P> P> droite () code> avec charindex () code> & inverse () code>:
@Larnu. . . Désolé, vous devez re-regarder.
@Johncappelletti. . . Vous êtes également re-regarder.
@YOGESHSHARMA Vous avez également reproché dbfiddle.uk/...
Mon commentaire original est incorrect, cependant, cela fonctionne sur l'hypothèse que toutes les valeurs sont la même longueur. C'est une hypothèse médiocre (à mon avis) DB <> Fiddle . Cela obtient efficacement la position du premier b> ^ code> et ensuite supposant i> la valeur dernière b> sera la même longueur.
@Johncappelletti. . . Dans ce cas, inverse () code> ferait le tour.
J'ai vu votre correction. Peut-être la prochaine fois que deux membres établis de la communauté soumissionnent une préoccupation, vous ne serez pas aussi défensive.
Yogesh est tout à fait établi, en toute justice. Nous faisons tous des erreurs (et j'ai fait une hypothèse médiocre / incorrecte moi-même lorsque j'ai fait le commentaire original). Reverse code>, cependant, corrige effectivement le problème. :)
@Larnu a accepté. C'est pourquoi je ne m'attendais pas à cette réponse
Une méthode serait de scinder la valeur, à l'aide de Cela évite que ce soit un délimitedsplit8k_lead code> puis prenez le "dernier" (en commandant haut à bas). Cette méthode utilise top 1 avec les cravates code> J'ai utilisé cette méthode comme ordre semble être hors de propos ici em>: inverse code>. p> p>
Utilisation de CharIndex et inverse:
J'ai laissé toutes les fonctions de là afin que vous puissiez voir le processus. p> résultats: p>
Essayez ceci
En supposant que vous êtes sur SQL Server 2016 + fort> supposant également ce schéma et données: p>
Si vous êtes sur
Surpris Personne n'a dit cela, la meilleure solution absolue serait d'arrêter de stocker des données délimitées comme celle-ci. Il viole 1nf et est une douleur à travailler avec. Bien sûr, nous n'avons pas cette option, mais ce serait le meilleur s'il s'agit d'une option.