
DECLARE @sql VARCHAR(MAX)='qwerty:1234-21365,12345274dsfst'
SELECT SUBSTRING(@sql,PATINDEX('%:%',@sql)+1,PATINDEX('%,%',@sql)-PATINDEX('%:%',@sql)-1)
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
CREATE TABLE #T(col NVARCHAR(100))
Insert #T
select N'DENSO:421-721,4201,' union all
select N'DENSO:421-721 HONDA:'
Go
--测试数据结束
SELECT SUBSTRING(col, CHARINDEX(':', col) + 1,
( CASE WHEN CHARINDEX(',', col) < CHARINDEX(' ', col)
AND CHARINDEX(',', col) <> 0
THEN CHARINDEX(',', col)
WHEN CHARINDEX(' ', col) < CHARINDEX(',', col)
AND CHARINDEX(' ', col) <> 0
THEN CHARINDEX(' ', col)
WHEN CHARINDEX(',', col) > CHARINDEX(' ', col)
AND CHARINDEX(' ', col) = 0
AND CHARINDEX(',', col) <> 0
THEN CHARINDEX(',', col)
WHEN CHARINDEX(' ', col) > CHARINDEX(',', col)
AND CHARINDEX(',', col) = 0
AND CHARINDEX(' ', col) <> 0
THEN CHARINDEX(' ', col)
ELSE CHARINDEX(',', col)
END ) - CHARINDEX(':', col) - 1)
FROM #T
DECLARE @sql VARCHAR(MAX)='qwerty:1234-21365,12345274dsfst'
SELECT SUBSTRING(@sql,PATINDEX('%:%',@sql)+1,PATINDEX('%,%',@sql)-PATINDEX('%:%',@sql)-1)
参考下
划红线的字符后面有的有空格
那自己再套着一层,如果多少长度内按逗号返回为0,则改用空格再套一层
DECLARE @sql VARCHAR(MAX)='qwerty:1234-21365 12345274dsfst'
-- 如果就这俩种区分方式可以用正则表达式处理的
SELECT SUBSTRING(@sql,PATINDEX('%:%',@sql)+1,PATINDEX('%[, ]%',@sql)-PATINDEX('%:%',@sql)-1)
where PATINDEX('%:%',@sql) > 0 and PATINDEX('%[, ]%',@sql) > 0
DECLARE @sql VARCHAR(MAX)='qwerty:1234-21365,12345274dsfst'
SELECT SUBSTRING(@sql,PATINDEX('%:%',@sql)+1,PATINDEX('%,%',@sql)-PATINDEX('%:%',@sql)-1)
参考下
划红线的字符后面有的有空格
那自己再套着一层,如果多少长度内按逗号返回为0,则改用空格再套一层
DECLARE @sql VARCHAR(MAX)='qwerty:1234-21365 12345274dsfst'
-- 如果就这俩种区分方式可以用正则表达式处理的
SELECT SUBSTRING(@sql,PATINDEX('%:%',@sql)+1,PATINDEX('%[, ]%',@sql)-PATINDEX('%:%',@sql)-1)
where PATINDEX('%:%',@sql) > 0 and PATINDEX('%[, ]%',@sql) > 0
--创建一个查找字符串的函数
CREATE FUNCTION IndexOf(@str VARCHAR(500),@value VARCHAR(50),@posIndex INT)
RETURNS int AS
BEGIN
DECLARE @pos int=0 --记录位置
DECLARE @i INT =0 --记录查找的次数
WHILE(@i<@posindex)
BEGIN
SET @i=@i+1
set @pos=CHARINDEX(@value,@str,@pos+1)
IF(@pos=0) RETURN 0--如果没有找到就返回0,比如abcabc其中a中出现在2次@posIndex=3的话就返回0
END
RETURN @pos
END
DECLARE @str VARCHAR(MAX)='DENSO : 421000-0721, 421000-0722,'
SET @str= REPLACE(@str,' ','<>') --用<>替换里面的空格
PRINT @str
SELECT REPLACE(
SUBSTRING(
@str,
dbo.IndexOf(@str, '<>', 2) + 2,
dbo.IndexOf(@str, '<>', 3) -dbo.IndexOf(@str, '<>', 2) -2
),
',',
''
) --截取第二个空格到第三个空格之间的数据,如果最后截取到了,号的话就用''替换
DENSO<>:<>421000-0721,<>421000-0722,
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
421000-0721
(1 行受影响)
服务器返回的消息 第一种: {"status":"1","function":"__VoicePrompt"}{"status":"0","function":"__StopNavigation"} 或 {"status":"23","function":"__VoicePrompt"}{"status":"0","function":"__...
今天早上一个朋友请教我给一串字符串,截取数(比如3,截取数可自定义) 每3个截取一次,截取到后面小于3位的一样保留到字符串数组里。 想了一下 写了一个通用方法,记录一下,给有用的朋友参考(不喜勿喷,如有更...
和之间的DIV里边,就想把这个div采集走,于是用了curl采集到了整个网页内容,现在想要吧中间部分提取出来,我尝试过正则跟字符截取,都不成功,可能是我正则写错了 我的代码: $url = '...
项目中 需要在页面截取字符串,碰到了两次,第一次请教同事 但是我没记住;所以这一次给写下来 //${ven.createTime } 从库里拿出来的时间 。因为整个时间后面有.0 e.g:2018-01-18 16:50:27.0 <td> ${fn:...
我有两个表 表A,表B 表A中有字段CategoryID,也是表B的主键,但是表A中CategoryID字段里有多个值,用“,”隔开了,想请教一下各位大神 怎样用表A 中的字段作为连接表B的条件![图片说明]...
请教一个问题:字符串abadcafg,我想取出里面所有的组合放到数组里,最小是两个,请问咋实现呢?结果就是:ab,aba,abad,abadc,abadca,abadcaf,abadcafg,ba,bad,badc,badca,badcaf,badcafg,以此类推 ...
在网上找了很长时间还是没有找到,于是我再次请教了老师 NSString *string = @“1225ji90786yhji0uujnbgvdfdssxde23@#TG¥……&888imu67”; //正则表达式 NSRegularExpression *regex = ...
掌握写汇编代码的能力,可以分析任意裸板包括U-boot、内核里的相关汇编代码; 掌握常用的硬件部件的操作,比如GPIO,UART,I2C,LCD,触摸屏; 深入理解ARM体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原
2020年2月份美赛发布的题目ADE,是原始文件,包含有原题目给的数据等。 pdf格式全英,需要的朋友们直接下载就可以啦,里面的东西没有动过,需要翻译可以看我的博客/
例子主要包括SocketAsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,用于测试SocketAsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度达到250MB/S(使用的是127.0.0.1的方式,相当于千兆网卡1Gb=125MB/S两倍的吞吐量)。服务端用C#编写,并使用log4net作为日志模块; 同时支持65536个连接,网络吞吐量可以达到400M。
jdk1.8 64位官方正式版 jdk-8u91-windows
本系列课程针对有意向学习嵌入式软件开发的童鞋,从零开始、深入浅出,内容涵盖:linux系统基础、shell、linux C编程、linux系统编程、网络编程、ARM体系结构及汇编语言、ARM裸机编程、linux系统移植、linux驱动开发等模块。
opencv应用实例视频教程,该课程主要分享在机器视觉及算法领域的具体应用案例,并且对这些案例的算法流程及相关接口进行详细说明与讲解,涉及到的opencv具体案例有鸟瞰图、肤色检测、颜色聚类、模板匹配