引言:比如有一个字符串“oiddiaj/j9jkl/88ol”,想要计算字符串中/的个数,用到len这个方法
[sql] view plain copy
len('oiddiaj/j9jkl/88ol')-len(replace('oiddiaj/j9jkl/88ol','/',''))
想判断某个字符包含在某个字段内可以用charindex函数
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)
参考:>
方法一:
SELECT
SUM(正确数)+SUM(错误数)
AS
总记录数,SUM(正确数),SUM(错误数)
FROM
(
SELECT
COUNT(1)
正确数,0
错误数
FROM
TB
WHERE
STATUS=1
UNION
ALL
SELECT
0
正确数,COUNT(1)
错误数
FROM
TB
WHERE
STATUS=0)
a
方法二:
select
count(1)总记录数,sum(case
when
status=1
then
1
else
0
end)正确数,sum(case
when
status=0
then
1
else
0
end)
错误数
from
T
1、统计平均数:
SELECT
AVG(column)
FROM
tb_name
该
SQL
语法用于统计某一数值类型字段的平均数,AVG()
内不能是多个字段,字符串等类型虽然可以执行,但无意义。
2、统计数据之和:
SELECT
SUM(column)
FROM
tb_name
该
SQL
语法用于统计某一数值类型字段的数值之和,SUM()
内不能是多个字段,字符串等类型虽然可以执行,但无意义。
3、统计最大数据:
SELECT
MAX(column)
FROM
tb_name
该
SQL
语法用于统计某一数值类型字段的数值最大值,MAX()
内不能是多个字段。
4、统计最小数据:
SELECT
MIN(column)
FROM
tb_name
SQL
语法用于统计某一数值类型字段的数值最小值,MIN()
内不能是多个字段。
将要查询字段的长度减去该字段将要查询字符替换为空后的长度
select
len(字段名)-len(replace(字段名,要查询的字符,''))from
table
以上就是关于Sql Server 计算某个字符 在字符串中有多少全部的内容,包括:Sql Server 计算某个字符 在字符串中有多少、用SQL sever 语句,统计一个字符串的字母、数字、空格的个数,分别用列的形式表示出来。、SQL怎么统计个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)