四个函数:

--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)
AS
BEGIN
DECLARE @FileName NVARCHAR(MAX)
DECLARE @ReversedPath NVARCHAR(MAX) SET @ReversedPath = REVERSE(@Path)
SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1) RETURN @FileName
END

--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)
AS
BEGIN
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 @FileName
END

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)
AS
BEGIN
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 @FileName
END

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)
AS
BEGIN
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 @FileName
END

--代码使用示例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 Ext
FROM 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

在 SQL Server 中从完整路径提取文件名(sql 玩转文件路径)的更多相关文章

  1. SQL Server中Table字典数据的查询SQL示例代码

    SQL Server中Table字典数据的查询SQL示例代码 前言 在数据库系统原理与设计(第3版)教科书中这样写道: 数据库包含4类数据: 1.用户数据 2.元数据 3.索引 4.应用元数据 其中, ...

  2. 转载:SQL Server中查询CPU占用高的SQL语句

    SQL Server中查询CPU占用高的SQL语句 SQL Server 表变量的用法 究竟什么是敏捷测试--朱少民

  3. SQL Server中查询CPU占用高的SQL语句

    SQL Server中查询CPU占用高的情况,会用到sys.sysprocesses ,dm_exec_sessions ,dm_exec_requests 一.查看当前的数据库用户连接有多少 USE ...

  4. 在sql server中怎样获得正在执行的Sql查询

    方法1:使用DBCC inputbuffer(spid) 使用SP_WHO获得SPID,然后再执行上面的DBCC command,参见下图 执行一段sql语句 打开另一个query窗口并执行SP_WH ...

  5. 将SQL SERVER中查询到的数据导成一个Excel文件

    -- ====================================================== T-SQL代码: EXEC master..xp_cmdshell 'bcp 库名. ...

  6. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  7. SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

    原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之 ...

  8. [转]细说SQL Server中的加密

    简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程.在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在 ...

  9. ylb:SQL Server中的escape(逃逸)

    ylbtech-SQL Server:SQL Server-SQL中的escape(逃逸) SQL Server中的escape(逃逸). 1,SQL Server中的escape(逃逸) 返回顶部 ...

随机推荐

  1. day2-作业及答案

    作业:第一组: 1.接收用户输入一个年份,判断是否是闰年(判断闰年的方法是该年能被4整除并且不能被100整除,或者是可以被400整除) 2.接收用户输入一组整数,输入负数时结束输入,输出这组数字的和: ...

  2. Zookeeper入门(二)之基础

    在深入了解ZooKeeper的运作之前,让我们来看看ZooKeeper的基本概念.本文主要包含如下内容:1.Architecture(架构)2.Hierarchical namespace(层次命名空 ...

  3. git回滚命令reset、revert的区别

    ##使用git,总有一天会遇到下面的问题: (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. 所 ...

  4. 关于mydumper的.metadata文件丢失

    今天要进行MySQL的数据迁移,所以把数据库通过mydumper工具备份的文件解压后.通过myloader进行导入 可是导入的时间出现这个报错: ** (myloader:766): CRITICAL ...

  5. win7下mysql免安装版使用

    1.下载. 下载地址:http://downloads.mysql.com/archives/get/file/mysql-5.6.17-winx64.zip. 2.解压MySQL压缩包 解压到指定目 ...

  6. C# 文本转语音朗读

    1. 利用DONET框架自带的 SpeechSynthesizer ,缺点是没有感情色彩,抑扬顿挫等. using System; using System.Collections.Generic; ...

  7. 20155217《网络对抗》Exp04 恶意代码分析

    20155217<网络对抗>Exp04 恶意代码分析 实践内容 使用schtasks指令监控系统运行 使用sysmon工具监控系统运行 使用virscan分析恶意软件 使用systrace ...

  8. Exp3

    利用不同免杀方式生成文件 1.msfvenom 使用msfvenom命令查看功能介绍 其中有: -p 选择一个载荷(或者叫模块) -l 载荷列表 -f 生成的文件格式 -e 编码方式 -l 编码次数 ...

  9. 20155318 《网络攻防》 Exp9 Web基础

    20155318 <网络攻防> Exp9 Web基础 基础问题 SQL注入攻击原理,如何防御 就是通过把SQL命令插入到"Web表单递交"或"输入域名&quo ...

  10. 20155338《网络对抗》Exp6 信息搜集与漏洞扫描

    20155338<网络对抗>Exp6 信息搜集与漏洞扫描 实验过程 外围信息搜集 (1)whois域名注册信息查询 下面是搜索hao123.com得到的结果 下面这个也是同理 (2)nsl ...