Quelle est la syntaxe SQL pour trouver le nom du dernier annuaire à partir d'un chemin de fichier.
Par exemple, je veux récupérer le nom du dernier répertoire, à savoir entrée: p> sortie: p> C code> C
3 Réponses :
Avez-vous essayé le Sélectionner la droite code> ou gauche code>? Si c'est une corde, je pense que c'est faisable. Aussi, il y a quelque chose dans là, vous devrez jouer autour de vous. P>
Si c'est ce que vous recherchez Stackoverflow.com/questions/46226235/...
Il n'y a pas de position fixe du dernier répertoire, donc je ne peux pas utiliser le caractère droit ou gauche pour aller chercher le caractère. Il peut y avoir n'importe quel niveau de sous-dossiers
Pas vraiment une réponse ... plus adaptée à un commentaire.
SQL Server n'a pas de très bonnes capacités de traitement de chaînes. Mais, avec des efforts, vous pouvez faire ce que vous voulez.
L'idée de clé est que le dernier "répertoire" est le premier "_yrotcerid" dans la chaîne inversée. Ensuite, certains lopping et ajustement obtiennent ce que vous voulez: p>
Cela a fonctionné pour moi. Mais si "/ répertoire_a / répertoire_b / répertoire_c / dossier1 / dossier2" 'est des données d'une colonne d'une table. C'est me donner l'erreur.
Disons que DirectoryName est Coulmn of Sites Tableau: Sélectionnez v. *, Gauche (V.Dir, Charindex ('/', V.DIR) - 1) En tant que DirName à partir de (Valeurs (Nom de la page de répertoire). Valeurs (trucs (T.Path, 1, Len (T.Path) - Charindex (inverse ('Directory_'), inverse (T.Path)) + 1, '')) V (DIR) des emplacements
DECLARE @path VARCHAR(100)='/Directory_A/Directory_B/Directory_C/Folder1/Folder2'
SELECT SUBSTRING( @path,LEN(@path)-LEN(SUBSTRING(@path,PATINDEX('%folder%',@path), 100))-1, 1)
Ce n'est pas nécessaire 1 caractère. Il peut y avoir n'importe quoi '/ répertoire_a / répertoire_b / répertoire_cbccccv / dossier1 / dossier2'. Nous devons récupérer la chaîne entière qui est après le dernier répertoire_
Quel DBMS s'agit-il - SQL Server? Mysql? Comment identifiez-vous un répertoire? Basé sur le préfixe?
Il serait raisonnable de le faire en tant que calcul post-traitement, pas de côté de la base de données
DBMS- SQL Server and Prefix serait "Répertoire" pour un répertoire et je souhaite recevoir le nom du dernier répertoire dans le chemin donné.