
好像没有直接的方法吧,写个循环试试
loop
a=instr(string,'n',1,1);
--查找第一次出现的位置
string
=
substr(string,a+1,length(string)-a);
if
a
<>
0
then
--查询一次,记录增加一次,当查询结束时,找不到字符,返回数据为0
,则推出循环
b=
b+1;
else
b=b;
end
if;
EXIT
WHEN
A=0;--当截取不到字符串时,推出循环
end
loop;
我只大体写了个循环思路,具体的自己完善吧~
//sql统计
"sql:select count() from table where field like '<br>%'";
//php统计
$count = 0;
foreach($data as &$item)
{
if(strpos($item['field'],"<br>") === 0) $count++;
}
echo $count;
CREATE TABLE TSET_VAR
(
NAME VARCHAR(200)
)
INSERT INTO TSET_VAR VALUES ('AAS12');
INSERT INTO TSET_VAR VALUES ('1AA@@S12');
INSERT INTO TSET_VAR VALUES ('12##1A');
INSERT INTO TSET_VAR VALUES ('AA S 1# 2');
create function tj
(
@str varchar(8000)
)
returns @s table (空格 int,数字 int,字母 int,其他 int)
AS
BEGIN
declare @i int = 1
declare @kg int = 0
declare @sz int =0
declare @zm int =0
declare @qt int =0
declare @x varchar(2000)
while(@i<=(LEN(@str)))
begin
set @x =SUBSTRING(@str,@i,1)
IF (@x =' ')
begin
set @kg =@kg+1
end
else if (PATINDEX('[0-9]',@x)!=0)
begin
set @sz=@sz +1
END
ELSE IF (PATINDEX('[A-Za-z]',@x))!=0
begin
set @zm =@zm+1
end
else
begin
set @qt =@qt+1
end
set @i=@i+1
end
INSERT @s VALUES(@kg,@sz ,@zm,@qt )
return
END
SELECT FROM TSET_VAR OUTER APPLY DBOTJ(NAME)
参考:>
以上就是关于sql语言:如何查询字符串某个字符的个数全部的内容,包括:sql语言:如何查询字符串某个字符的个数、php+mysql获取数据库 某个字符数量 例如以下的字符,我想获取<b>一共在这个表出现多少次、用SQL sever 语句,统计一个字符串的字母、数字、空格的个数,分别用列的形式表示出来。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)