在 SQL Server 中从完整路径提取文件名(sql 玩转文件路径)

四个函数:

--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

 

转载于:https://www.cnblogs.com/railgunman/p/9912237.html

解决打不开SQL Server配置管理器的问题 最近被Sql Server搞得贼烦,下了俩次SQL SERVER,重装了一次系统,先对这次遇到的问题发一下感慨:深深地意识到权限的重要性了,一般计算机里面的软件都有不同的访问权限,普通用户(Users)、管理员(Administrators)、SYSTEM等等,以不同的身份去对这个软件进行操作时,就会有不同的访问权限,一般Administrator的权限是最大的   1)安... 阅读详情

相关推荐

如何在服务器中找到数据库文件路径

在服务器中找到数据库文件路径的具体方法取决于您所使用的数据库管理系统和服务器的操作系统。请注意,以上路径和步骤可能会因服务器配置、操作系统版本、数据库版本和安装选项的不同而有所变化。如果无法直接找到文件路径,您可能需要参考特定数据库或服务器的官方文档,或联系系统管理员以获取帮助。

AOMGyz的博客 2629

sql获取服务器的所有文件名,sql server从服务器上获取远程共享文件夹下的文件名...

匿名用户1级2018-06-05 回答/*** 读取某个文件夹下的所有文件*/public static boolean readfile(String filepath) throws FileNotFoundException, IOException {try {File file = new File(filepath);if (!file.isDirectory()) {System.o...

weixin_42414947的博客 662

手把手教你解决USB批量传输中512字节整数倍数据丢失问题

本文详细解析了USB批量传输中512字节整数倍数据丢失问题的根源,并提供了通过零长度包(ZLP)的解决方案。文章涵盖USB协议核心机制、ZLP实现代码示例(包括Android、Linux和Windows平台)、调试技巧及性能优化建议,帮助开发者彻底解决这一常见问题。

smartcontract5的博客 267

记sqlServer获取文件后缀名

-- ---------------------------- -- function structure for getFileName -- ---------------------------- IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[getFileName]') AND type IN ('FN', 'FS', 'FT', 'IF', 'TF')) DROP FUNCTION[d.

jtfyh的博客 1750

深入解析BlueZ5与D-Bus:Linux蓝牙开发实战指南

本文深入解析BlueZ5与D-Bus在Linux蓝牙开发中的核心应用,提供从环境搭建到实战开发的完整指南。通过详细代码示例和调试技巧,帮助开发者掌握蓝牙协议栈与D-Bus接口的交互方法,实现高效蓝牙设备管理与GATT服务开发。

weixin_28292761的博客 454

Android Studio打包全攻略---从入门到精通

初出茅庐 手动打包怎么手动打包项目写完了,现在需要把应用上传到市场,问题出现—怎么把代码变成.apk(Android的可安装文件)。 1. 创建签名文件 2. 填写好签名参数 3. 生成APK 注意:签名的密码和密匙的密码注意保管,不要忘了,签名文件别泄漏了,也别搞丢了为什么要打包我最开始就有这个疑问,我们的代码不是点了下运行按钮就直接安装到手机上了吗,我们在在项目Project

我早就想,要这样载着你,翻山越岭 2万+

sql中查找目录中的文件名

查询一个目录下(包括子目录)特定类型的文件,并且获得文件的绝对路径 主要解答者: zjcxc 提交人: zjcxc 感谢:

wuheng66888的专栏 2230

Ubuntu 上 1Panel 的安装与高效运维实践

本文详细介绍了在Ubuntu系统上安装和高效运维1Panel面板的完整实践指南。内容涵盖了一键安装、Docker容器可视化部署、计划任务自动化以及网站数据库管理等核心功能,并提供了安全加固、资源监控与数据备份等进阶技巧,旨在帮助用户快速搭建并管理一个强大易用的服务器环境。

weixin_29210759的博客 144

SQL获取文件夹下的文件

--描述:将某一文件夹下指定的文件类型或文件名的文件读取到数据表中,再根据数据表的记录和某一表的记录对比更改数据表 --将文件名写入 A.txt Exec Master..xp_cmdshell 'dir /b F:\*.EXE >F:\A.TXT', NO_OUTPUT --读取文件名并将读取的记录写入到临时表中 Create Table Tmp_Text(FileName Va

菜鸟之GrowUP 3297

把 LangGraph 当“工作流引擎”用:与传统 BPM 的差异与融合策略

首先,我们来回顾一下有限状态机(FSM)的基本定义——一个 FSM 可以用一个五元组MQΣδq0FMQΣδq0​FQQQ有限状态集合,包含 FSM 所有可能的状态;Σ\SigmaΣ有限输入字母表,包含 FSM 所有可能的输入;δ\deltaδ状态转移函数,定义了 FSM 从当前状态q∈Qq \in Qq∈Q接收输入σ∈Σσ∈Σ后,转移到的下一个状态q′∈Qq' \in Qq′∈Q,即δQ×Σ→QδQ×Σ→Q。

AI 原生应用开发的博客 227

YOLOv8 智能交通流量监测完整解决方案

YOLOv8智能交通流量监测系统基于先进的目标检测技术,提供实时车辆识别与统计分析功能。该系统通过虚拟检测线实现多方向车流量统计,支持多种车辆类型分类,并具备数据可视化、异常事件预警等核心功能。完整解决方案包含模型训练、实时检测、批量处理、结果分析等模块,并提供Flask API和Docker两种部署方案。系统采用YOLOv8算法实现高效检测,支持GPU加速,可通过量化、剪枝等技术进一步优化性能,为智能交通管理提供可靠的数据支持和技术保障。

u010117029的博客 119

SQL Server中,查询与修改数据库逻辑文件名,移动数据库存储路径示例

---------------------------------------------------------------------------------- -- Author : htl258(Tony) -- Date   : 2010-06-26 21:51:30 -- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.2

u012138032的博客 1087

直方图均衡化原理及matlab和opencv实现代码

详细分析了直方图均衡化的数学原理,配有matlab和opencv实现代码

qq_21603315的博客 4779

SQL Server 数据库文件路径迁移步骤

实际项目中,经常由于数据库服务器磁盘空间不足,导致现场数据无法及时入库,引发系统无法访问的问题,这种情况一般是清理服务的磁盘空间,主要有,删除不必要的日志、备份文件或不必要的软件等;但是,对于数据库服务器而言,除了必要的软件外,一般不在安装其他软件,保存的基本上为现场数据文件,所以,针对这种情况,一般我们只能做数据迁移,迁移至空间更大的磁盘或者其他服务器中。这里以SQL Server数据为例,简要...

bird_tp的博客 1万+

JAVA:Spring Boot 集成 Baidu UID-Generator ID 生成器

百度UID-Generator是一款高性能分布式ID生成器,支持600万QPS,提供Snowflake扩展版和Cache模式两种实现方式。文章详细介绍了如何在Spring Boot项目中集成该组件,包括Maven依赖配置、MySQL表结构初始化、Spring Boot数据源配置、WorkerId分配策略实现以及UID生成器的核心配置。该方案具有无中心依赖、ID单调递增、支持集群部署等特点,适用于订单号、用户ID等分布式场景。通过缓存模式(Cache-Buffer)可进一步提升性能,满足高并发业务需求。

木头 487

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

SQL Server 文件路径

系统数据库文件路径 master <drvie>:\program files\microsoft sql server\mssql10.<instance_name>\data master.mdf mastlog.ldf msdb <drvie>:\program files\microsoft sql server\mssql10.<in...

数据库 924

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SQL SERVER 如何修改数据库文件路径

原文地址:https://blog.youkuaiyun.com/baomfeng/article/details/84031971 DECLARE @DBNAME VARCHAR(255) DECLARE @TargetPath VARCHAR(255) DECLARE @CmdCommand VARCHAR(2000) SET @DBNAME='GTN_New2019' ...

weixin_30810239的博客 1294

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SQL语句还原数据库并指定文件路径

从备份还原数据库如果不用with move来指定文件路径,则默认把数据文件和日志文件存放到与原数据库相同的文件路径中,这样可能会产生错误,执行下面的语句: restore database SmartDev_11_28 from disk='D:\Backup\SmartDev_20170904010000_413.bak' 得到如下的错误信息: 想要在语句中指定文件路

u012600698的博客 5731

sql server 取文件名函数 转载

/****** Object: UserDefinedFunction [dbo].[GetDirectoryPath] Script Date: 2016-12-16 16:54:05 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE FUNCTION [dbo].[GetDirectoryPath] ( ...

284

SQL Server 2008R2 到 2012 数据库迁移完整指南

本文详细介绍了SQL Server数据库从2008R2迁移至2012版本的全过程。主要内容包括:1)迁移原理,涵盖跨版本兼容性、文件路径映射和权限控制机制;2)完整迁移步骤,从环境准备、备份传输、逻辑文件名获取到数据库还原和验证;3)故障排除指南和最佳实践建议。文档强调关键操作如权限设置、MOVE重定向和REPLACE选项的使用,并提供了SQL脚本和PowerShell命令示例。该方案可实现30分钟内完成无损迁移,但实际效果可能因环境而异。

←か淡定☆ ヾ 的博客 1638

SQL SERVER 查看mdf ldf文件路径

SQL SERVER 查看mdf ldf文件路径 select filename from sysfiles  

weixin_34210740的博客 2746

SQL Server 2016 附加--修改逻辑文件名

主要分享SQL Serrver 2016 附加的相关操作

weixin_43224822的博客 2053

SQL Server 路径修改

我整理的一些关于【数据】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/eDOcp1如何修改 SQL Server 的数据文件和日志文件路径 在 SQL Server 管理中,有时候我们需要修改数据库的数据文件和日志文件的存储路径。这可能是因为磁盘空间不足、需要更好的性能,或...

weixin_40954098的博客 603
上一篇: 如何访问cxGrid控件过滤后的数据集
下一篇: 如何判断可见字符 Unicode
aowo7144
博客等级 码龄10年 5粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值