MS SQL获取某一字符中在字符串中出现的序数和位置

如:

DECLARE @InputString NVARCHAR(MAX) = N'RQ04-ARXXRSS-000-4315-N';

以上所示,把字符串中所有‘-’字符出现的序数及其位置。


 

复制代码
DECLARE @InputString NVARCHAR(MAX) = N'RQ04-ARXXRSS-000-4315-N';
DECLARE @Specified_Character NVARCHAR(1) = '-'
DECLARE @Count INT = LEN(@InputString) - LEN(REPLACE(@InputString,@Specified_Character,''));

    
WITH cte AS (
    SELECT [String] = @InputString,
           [Number] = 1,
           [Position] = CHARINDEX(@Specified_Character, @InputString, 1)
    UNION ALL
    SELECT [String],
           [Number] + 1,
           CHARINDEX(@Specified_Character, [String], Position + 1)
    FROM cte
    WHERE [Number] < @Count AND [Position] > 0
)

SELECT * FROM cte
Source Code
复制代码

 

posted @   Insus.NET  阅读(358)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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的设计差异
历史上的今天:
2015-10-30 绝对路径和相对路径的一些表示法
2014-10-30 ASP.NET MVC显示异常信息
2014-10-30 使用Ajax的Time实现倒计时功能
2013-10-30 匹配与显示中文说明
2012-10-30 动态创建的Web控件代码转为Html代码
2012-10-30 获取html标签属性
点击右上角即可分享
微信分享提示