Comment faire pour obtenir l'extension de fichier de fichier comme un résultat de requête sql?
J'ai une table nommé datas
et je suis de l'exécution d'une requête comme ceci:
SELECT linkurl AS DOWNLOADURL,
lastrevlevel AS VERSION,
code AS DESCRIPTION,
created AS RELEASEDATE,
name AS TYPE
FROM datas
WHERE id IN (SELECT child_id
FROM datas _datas
WHERE parent_id = (SELECT Max(id)
FROM datas
WHERE code = 'AN4307SW'))
Il renvoie des résultats comme ceci:
DOWNLOADURL VERSION DESCRIPTION RELEASEDATE TYPE
/artifacts/download.txt 2.0 images 25/6/12 download.txt
Dans le Type
colonne je suis geting nom du fichier. J'ai besoin d'obtenir l'extension de fichier le nom de fichier dans la Type
colonne. Comment puis-je y parvenir?
Exemples:
TYPE
.txt
.pdf
.xls
- Êtes-vous à l'aide de php?
- Que voulez-vous attendre si j'avais un fichier nommé
Test.Document.doc
? Si aucune extension n'est-elle précisée? - je ne veux que de l'extension de nom de fichier
- Si la sous-chaîne de caractères après le dernier point - dans mon exemple
doc
. Est-il possible qu'il pourrait y avoir un fichier sans extension (ne contenant pas d'un point du tout?) - oui, il ya une chance d'avoir le point, alors comment dois-je procéder
- Dans ce cas, l'on a accepté la réponse qui utilise
SUBSTRING_INDEX
sera de retour le nom entier du fichier si il n'existe pas de dot. Est acceptable? - mais je suis certaines autres domaines qui aurait certainement extension à la dernière.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
SUBSTRING_INDEX
. Comme ceci:MODIFIER
Si vous voyez la documentation sur cette fonction, je pense que cela s'applique bien à vous besoins.
Cela permettra également de gérer un cas comme celui-ci:
EDIT2
Si vous utilisez oracle. Veuillez tag de la question dans le bon sujet pour la prochaine fois. Il n'y a pas de
SUBSTRING_INDEX
dans oracle. Mais ce que je peux voir, vous pouvez le faire assez facilement:Plein requête comme ceci:
Référence ici
pensez que vous aurez besoin de quelque chose comme ce
Il peut être fait comme ceci