首页 > 数据库 >sqlserver 从数据源左侧截取到遇到特殊字符的最短的子字符串

sqlserver 从数据源左侧截取到遇到特殊字符的最短的子字符串

时间:2023-08-28 15:25:45浏览次数:48  
标签:begin set varchar 数据源 sqlserver str end declare 特殊字符

select dbo.sjGetPreStr('1234^5*6/-33_','[]-_=+*&^')       ===> 1234

Create function [dbo].[sjGetPreStr](@str varchar(1000),@pointArr varchar(100))
returns varchar(1000)
as
begin
    declare @res varchar(1000) = ''
    declare @i int = 1
    declare @c varchar(4) = ''
    declare @j int = 0
    declare @min varchar(1000) = ''
    declare @temp varchar(1000) = ''
    set @str = rtrim(ltrim(@str))
    set @pointArr = rtrim(ltrim(@pointArr))
    set @min = @str
    if len(@str) = 0 or len(@pointArr) = 0
    begin
        set @res = 'Parameters cannot be empty'
    end
    else
    begin
        while @i <= len(@pointArr)
        begin
            set @c = substring(@pointArr,@i,1)
            set @j = charindex(@c,@str)
            if @j > 0
            begin
                set @temp = substring(@str,1,@j - 1)
                if len(@temp) < len(@min)
                begin
                    set @min = @temp
                end
            end
            set @i = @i + 1
            set @j = 0
        end
        set @res = @min
    end
    return @res
end

标签:begin,set,varchar,数据源,sqlserver,str,end,declare,特殊字符
From: https://www.cnblogs.com/pandora2050/p/17662357.html

相关文章

  • 在spring、tomcat中使用多数据源并支持分布式事务管理
    题目起得有点模糊,第一次接触这东西,还不怎么理解。 起因: 小项目,没有用分布式,但要操作两个数据库。本以为随便用spring配置两个数据源就搞定,查询是没问题,问题是有一个数据库老是插不进数据。Google狂搜之后,大概了解到是事务控制的问题。我用的是spring的声明式事务管理(<tx:annotat......
  • ubuntu15.04下用apache+iasp部署asp+mssqlserver运行环境
    最近由于工作需要,尝试了一下在linux下配置asp运行环境,耗时两周,在网上能找到的相关资料和软件都比较匮缺,特记录一下。一、硬件环境及操作系统windows2008+vm,win2008安装了sql2005作为数据库服务器,vm虚拟机安装ubuntu15.04用apache2.0.59+iasp2.1作为webserver二、ubuntu15.04安......
  • sqlserver跨数据库查询
    方法一`execsp_droplinkedsrvloginpms,Nullexecsp_dropserverpmsexecsp_addlinkedserver@server='pms',--被访问的服务器别名@srvproduct='',@provider='SQLOLEDB',@datasrc=''--要访问的服务器execsp_addlinkedsrvlogin'pms�......
  • PDManger c# sqlserver数据库代码
    usingSystem;usingSystem.Collections.Generic;usingSqlSugar;$blankline{{vartoday=newDate();varfullYear=today.getFullYear();varmonth=today.getMonth()+1;vardays=today.getDate();varsqlSugartable='[SugarTable("......
  • springboot结合baomidou dynamic-datasource组件实现多数据源
    当系统数据量过大,系统性能问题逐渐浮出水面。使用主从模式,不失是一个较好的选择。即业务在主库执行,不影响业务的查询考虑走从库。这时,程序需要动态多数据源配置。......
  • nacos适配SqlServer、Oracle
    继上文《nacos适配达梦、瀚高、人大金仓数据库及部分源码探究 》后补充nacos适配SqlServer、Oracle的贴码,主要区别是SqlServer、Oracle的分页SQL有点不一样,做个记录;SqlServer的分页有三种实现方式:offset/fetchnext、利用max(主键)、利用row_number关键字;ps:具体可参......
  • 支持多数据源联合查询的SQL运行引擎sycnany-SQL使用类型注解和类型转换
    使用介绍安装和配置使用自定义函数sycnany-SQL作为SQL运行引擎并不需要提前定义Schema信息,而且很多数据源本身就是无Schema信息的,例如NoSQL数据库MongoDB,所以从数据源查询数据和运行计算默认直接使用输入数据的类型完成查询和计算,此时查询数据或执行计算可能因数据类型不匹配产......
  • 统计数据源(NLP/AI/ML): Indeed.com(全球超过60个市场28种语言的招聘站:可视化统计数
    Indeed.com:全球招聘站可视化统计数据:(全球超过60个市场28种语言的招聘站:可视化统计数据https://www.hiringlab.org/data/)Indeedhaswebsitesinover60marketsand28languages.Thefulllistofmarketsishere:https://www.indeed.com/worldwide.Wehaveeconom......
  • SAP Fiori Tools Application Modeler Page Map 标题的数据源
    按照笔者下面这篇教程的文章,安装了SAPFioriTools之后:SAPFioriElements开发教程-从入门到精通1.SAPFioriElements开发环境的搭建和开发准备工作我们就可以在VisualStudioCode的命令行里,使用PageMap,以一个图形化的界面,显示FioriElements应用的结构了:图......
  • 读取转换规则中的单据类型映射(处理SQLSERVER的XML字段)
    DataSetdsBillTypeMap=null;stringsql=string.Format(@"/*dialect*/SELECTFKERNELXML.query('//BillTypeMaps')BillTypeMaps,FID......