函数PARSENAME使用和截取字符串
MS SQL server有一个函数PARSENAME ( 'object_name' , object_piece )。
函数有2个参数:
Object_name
检索的对象名称。即是:服务器名.数据库名.所有者.对象名
Object_piece
是检索的对象类型。其值为1~4。
比如,为存储过程或自定义函数传入表名:TABLE_CATALOG.TABLE_SCHEMA. TABLE_NAME.COLUMN_NAME动态操作数据表时。
举个列:

DECLARE @str NVARCHAR(MAX) = N'testdb.dbo.table_part.qty' SELECT PARSENAME(@str,4) AS [TABLE_CATALOG], PARSENAME(@str,3) AS [TABLE_SCHEMA], PARSENAME(@str,2) AS [TABLE_NAME], PARSENAME(@str,1) AS [COLUMN_NAME] GO
另外一个演示,定义一个表变量,随机添加存储一些IP地址:
然后SELECT表,并使用ORDER BY进行排序:
这种排序结果,并非是我们想要的,它只是按每一段首数字大小进行排序。
这是为什么,因为这些IP地址,并非是标准IP地址。
把IP地址,转换为标准IP,参考这篇《转换为标准IPv4格式》https://www.cnblogs.com/insus/p/10958864.html
以上的这个函数,也有使用PARSENAME函数时行处理。

;WITH cte_ips AS ( SELECT [IPv4],[dbo].[svf_ConvertToStandardIPv4]([IPv4]) AS [std_ip] FROM @ips ) SELECT [IPv4],[std_ip] FROM cte_ips ORDER BY PARSENAME([std_ip],4), PARSENAME([std_ip],3), PARSENAME([std_ip],2), PARSENAME([std_ip],1)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2011-06-01 C#字符串处理插入(Insert)函数