在 SQL Server 中从完整路径提取文件名(sql 玩转文件路径)
来源:互联网 发布:尚长荣唱的怎么样知乎 编辑:程序博客网 时间:2024/05/17 03:35
四个函数:
--1、根据路径获取文件名
-- =============================================-- Author: Paul Griffin-- Create date: 18 January 2015-- Description: Returns a filename with extension-- from a full path:-- D:\Temp\Resources\Images\My.Picture.jpg-- ==> My.Picture.jpg-- =============================================CREATE FUNCTION [dbo].[GetFileName]( @Path NVARCHAR(MAX))RETURNS NVARCHAR(MAX)ASBEGIN DECLARE @FileName NVARCHAR(MAX) DECLARE @ReversedPath NVARCHAR(MAX) SET @ReversedPath = REVERSE(@Path) SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1) RETURN @FileNameEND
--2、根据路径获取文件名(去掉扩展名)
-- =============================================-- Author: Paul Griffin-- Create date: 18 January 2015-- Description: Returns a filename without extension-- from a full path:-- D:\Temp\Resources\Images\My.Picture.jpg-- ==> My.Picture-- =============================================CREATE FUNCTION [dbo].[GetFileNameWithoutExtension]( @Path NVARCHAR(MAX))RETURNS NVARCHAR(MAX)ASBEGIN DECLARE @FileName NVARCHAR(MAX) DECLARE @ReversedPath NVARCHAR(MAX) DECLARE @ExtLength INT SET @ReversedPath = REVERSE(@Path) SELECT @ExtLength = CHARINDEX('.', @ReversedPath) SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1) SELECT @FileName = LEFT(@FileName, LEN(@FileName) - @ExtLength) RETURN @FileNameEND
3、根据路径获取路径目录(无文件名)
-- =============================================-- Author: Paul Griffin-- Create date: 18 January 2015-- Description: Returns the path without the file name-- from a full path:-- D:\Temp\Resources\Images\My.Picture.jpg-- ==> D:\Temp\Resources\Images-- =============================================CREATE FUNCTION [dbo].[GetDirectoryPath]( @Path NVARCHAR(MAX))RETURNS NVARCHAR(MAX)ASBEGIN DECLARE @FileName NVARCHAR(MAX) DECLARE @ReversedPath NVARCHAR(MAX) DECLARE @PathLength INT SET @ReversedPath = REVERSE(@Path) SELECT @PathLength = CHARINDEX('\', @ReversedPath) SELECT @FileName = LEFT(@Path, LEN(@Path) - @PathLength) RETURN @FileNameEND
4、获取文件扩展名
-- =============================================-- Author: Paul Griffin-- Create date: 18 January 2015-- Description: Returns the extension only-- from a full path:-- D:\Temp\Resources\Images\My.Picture.jpg-- ==> jpg-- =============================================CREATE FUNCTION [dbo].[GetExtension]( @Path NVARCHAR(MAX))RETURNS NVARCHAR(MAX)ASBEGIN DECLARE @FileName NVARCHAR(MAX) DECLARE @ReversedPath NVARCHAR(MAX) DECLARE @ExtLength INT SET @ReversedPath = REVERSE(@Path) SET @FileName = '' SELECT @ExtLength = CHARINDEX('.', @ReversedPath) IF (@ExtLength > 0) BEGIN SELECT @FileName = RIGHT(@Path, @ExtLength - 1) END RETURN @FileNameEND
--代码使用示例1
SELECT Location ,dbo.GetDirectoryPath(Location) AS [Path Only] ,dbo.GetFileName(Location) AS [Full File Name] ,dbo.GetFileNameWithoutExtension(Location) AS [File Name without Ext ,dbo.GetExtension(Location) AS ExtFROM Images
--代码使用示例2
declare @filePath nvarchar(4000)set @filepath='D:\messages\attachrecv\0.abe3b3d58161ccb3de7ab63754bb3f15\abc.doc'SELECT dbo.GetDirectoryPath(@filepath) AS [Path Only] ,dbo.GetFileName(@filepath) AS [Full File Name] ,dbo.GetFileNameWithoutExtension(@filepath) AS [File Name without Ext] ,dbo.GetExtension(@filepath) AS Ext
得到结果:
path only:D:\messages\attachrecv\0.abe3b3d58161ccb3de7ab63754bb3f15
Full File Name:abc.doc
File Name without Ext:abc
Ext:.doc
转载出处:http://www.codeforge.cn/article/249284
0 0
- 在 SQL Server 中从完整路径提取文件名(sql 玩转文件路径)
- Android--从路径中提取文件名
- Android 从路径中提取文件名
- C++从路径中提取文件名
- Android--从路径中提取文件名
- Android--从路径中提取文件名
- Android 从路径中提取文件名
- 从完整路径中获取文件名
- 如何从完整路径中提取出目录,文件名,驱动器名?
- Android路径中提取文件名
- SQL Server中,查询与修改数据库逻辑文件名,移动数据库存储路径示例
- 如何从完整的文件路径中分离文件名和路径名?
- 提取路径中的文件名
- SQL Server 文件路径
- 在路径中截取文件名
- 在路径中截取文件名
- 利用正则表达式从文件路径中提取出文件名(包含后缀)
- 关于VB中用DIR函数,从完整的文件路径中取得文件名的方法
- 给“夜猫子”程序员的科学熬夜指南
- Android EditText 去除边框(下划线)
- 不错的减肥文章
- 反射与注解的使用
- POJ 2386 Lake Counting(dfs)
- 在 SQL Server 中从完整路径提取文件名(sql 玩转文件路径)
- eclipse常用快捷键
- 动画整理(jquery+css3+canvas+angularjs+js )
- ansible学习之--简单学习笔记1
- android RatingBar 自定义
- The method fromObject(String) is undefined for the type JSONObject
- Android主线程的消息系统(Handler\Looper)
- iOS 设置整理
- java知识2015-07-10