set @str='WX15-53-H-53-99-15-335-23'; select @str as '字符串' select len(@str) as '字符长度' select charindex('-',@str,1) as '第一个逗号的索引值' select LEFT(@str,charindex('-',@str,1)-1) as '第一个值' select SUBSTRING(@str,charindex('-',@str,1)+1,len(@str)) as '从第一逗号开始
); set @str='aa,32,22,55,7'; ) as '第一个逗号的索引值' )),),),'') as '第一个值' ),len(@str)) as '从第一逗号开始截取出后面的字符串' 截取字符串最长的字符串,用的是自定义函数 ALTER function [dbo].[fun_ecom_string] ( ),--传入的字符串 ) --调用时候给空值,这个是用来保存最长字符串值的 ) ) as begin ) ),),'') SET @result=@str --第一个逗号的
select left(songno,3) as songno from song //截取前3位 select distinct right(left(songno,6),3) as Files from song order by Files asc // 截取中间 select right(songno,6) as 歌曲编号 from song //截取后3位 select left(songno,3) as 服务器编号 from song select mapping from
需求:实际项目中需要截取第2到第3个逗号中间部分的内容 方案: declare @str nvarchar(50);set @str='11,222,3333,44444';select @str as '字符串'select len(@str) as '字符长度'select charindex(',',@str,1) as '第一个逗号的索引值'select LEFT(@str,charindex(',',@str,1)-1) as '第一个值'select SUBSTRING(@str,c
String sql2="select count(*) from t_testuser where substr(INSETTIME,1,10)=to_char(sysdate,'yyyy-MM-dd') ";ResultSet rs2=stmt.executeQuery(sql2); while(rs2.next()){ int count2=rs2.getInt(1); //本日新增体检用户数 out.print(count2+";");
select SUBSTRING(templatepath,CHARINDEX('/',templatepath)+1,CHARINDEX('.', templatepath)-CHARINDEX('/', templatepath)-1)as tt from tz_tasktemplate order by templatecode desc
取 a 字段里有字符x后面的数 right(a, charindex('x',reverse(a))-1)) reverse(字段) 这个函数是把字段倒过来并转换成nvarchar类型 取 a 的后3位 right(a,3) 取字段 a中字符串 x 到 y 之间的字符串假设(x=2,y=7) substring(a,CHARINDEX('2',a),CHARINDEX('7',a)-CHARINDEX('2',a)+1) 如果a=G000207858 那么得出来的结果就是207