--------字符串倒序
alter FUNCTION FN (@P VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @I int,@N int
SET @N=LEN(@P)
SET @I=LEN(@P)-1
WHILE @I>0
BEGIN
SET @P=@P+SUBSTRING(@P,@I,1)
SET @I=@I-1
END
SET @P=RIGHT(@P,@N)
RETURN @P
END
--字符串截取
ALTER function SPITSTR(@instr varchar(200),@index int )
returns varchar(200)
as
begin
declare @i int,@n int,@be int,@end int
declare @restr varchar(200)--字符串
declare @centerstr varchar(200) --中间字符串
SET @i=1
set @restr=@instr
set @be=@index
if(@index<>0)
begin
set @be=0
end
SET @n=len(@restr)-len(replace(@restr,'@',''))
set @instr='' --清空
--获取@的位置
set @end=patindex('%@%',@restr)--第一个@ 的位置
while(@i<=@n+1)
begin
SET @end=patindex('%@%',@restr)--重新确立位置
if(@i=@n+1)
begin
set @end=len(@restr)
end
--set @end=len(@restr)--长度
--截取字符串
if(@i=1 or @i=@n+1 or @i=@index)
begin
set @instr=@instr+substring(@restr,@be,@end);
end
else
begin
set @instr=@instr+substring(@restr,@be,@end-1);
end
--重新开始位置
set @be=@end
--重新赋值字符串
set @restr=substring(@restr,@be+1,len(@restr))
set @be=1
SET @i=@i+1
if (@index<>0)
begin
if(@i<>@index)
begin
set @instr=''
end
else
begin
break
end
end
end
return @instr;
end
--函数漏洞,索引从2 开始
SELECT DBO.SPITSTR('1234aa@56@7@89',2)
分享到:
相关推荐
代码如下:parsename可以返回四个值 = Object name = Schema name = Database name = Server name select parsename(ip,1) from cs,2,3,4 中的... 您可能感兴趣的文章:SQL截取字符串函数分享SQL 截取字符串应用代码
- **Substring 函数**:此函数根据找到的位置截取字符串,由于是从字符串的开头开始截取,因此能够直接获得扩展名部分。 - **第二个 Reverse 函数**:最后再次反转字符串,恢复扩展名的正确顺序。 #### 实践应用 ...
8. `strstr()`:获取指定字符串后的所有字符,常用于截取字符串。 9. `explode()`:按照指定的分隔符将字符串切割成数组。 了解并熟练运用这些函数,能够极大地提升你在处理PHP字符串时的效率和灵活性。在开发过程...
- `right(char_expr,int_expr)`:返回字符串的右端int_expr个字符,常用于截取字符串的尾部。 - `upper(char_expr)` 和 `lower(char_expr)`:分别将字符串转换为大写和小写,适用于大小写不敏感的操作。 - `space...
- `UPPER/LOWER`: 转换字符串为大写或小写。 - `INITCAP`: 首字母大写。 - `SUBSTR`: 截取子串。 - `LENGTH`: 字符串长度。 - `LPAD/RPAD`: 左右填充。 - `REPLACE`: 替换字符。 - `TRIM`: 去除两端空白字符...