⑴ 这个sql语句怎么写:统计出某个字段里内容为空的数据有几条
如果 ID 字段是数字型,则用:select count(id) from A where id is null or id=0
如果是字符型,则是:select count(id) from A where id is null or id=''
没有输入过内容的是 Null。但输入过内容再清空的,就是 0 或空了。
⑵ 如何计算SQL其中一个字段的数据个数
你可以通过
select
count(*)
into
temp
from
tablename
where...
通过变量temp来返回符合要求的记录数
⑶ SQL 我想统计 某一个表中的一个字段里所有值为空的数据的数量 如何写 并把得出来的数量 写入另一个表中
如果表存在
用
insert into 新表(字段1) select count(*) from 旧表 where 某字段 is null;
如果表不存在
create table 新表名 as select count(*) from 旧表 where 某字段 is null;
或者
select count(*) into 新表名 from 旧表 where 某字段 is null;
⑷ sql中如何统计一字段中字符串的个数
declare @s varchar(100)
set @s='156434A27kAsdABCiosd-01&**('
--找出现的次数
select len(@s)-len(replace(@s,'A',''))
SQL中字符串截取函数(SUBSTRING)
1、left(name,4)截取左边的4个字符
列:
SELECT LEFT(201809,4) 年
结果:2018
2、right(name,2)截取右边的2个字符
SELECT RIGHT(201809,2) 月份
结果:09
(4)sql中如何统计某字段空格个数扩展阅读
sql中group by用法:
GROUP BY可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。
GROUP BY必须得配合聚合函数来用,分组之后可以计数(COUNT),求和(SUM),求平均数(AVG)等。
常用聚合函数:count()计数、sum()求和、avg()平均数、max()最大值、min()最小值。
SELECT 语句指定了两列(Customer 和 SUM(OrderPrice))。"SUM(OrderPrice)" 返回一个单独的值("OrderPrice" 列的总计),而 "Customer" 返回 6 个值(每个值对应 "Orders" 表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUP BY 语句解决了这个问题。
⑸ SQL怎么统计个数
方法一:
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
⑹ sql server怎么设计程序统计出一个字符串中的字母空格数字的个数
字符串左边的空格用ltrim()去除,右边的用rtrim()去除!
例如:
select
rtrim('woshigehaoren
')
结果是woshigehaoren
select
ltrim('
woshigehaoren')
结果是woshigehaoren
如果是字符串中间有空格的话只能替换,
去除不了的
例如:
select
replace('wo
shi
ge
hao
ren','
','')
结果是woshigehaoren
如果左边有空格,
右边也有空格,
中间也有空格可以这样去除
select
replace(ltrim(rtrim('
wo
shi
ge
hao
ren
')),'
','')
⑺ 用SQL sever 语句,统计一个字符串的字母、数字、空格的个数,分别用列的形式表示出来。
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 DBO.TJ(NAME)
参考:http://..com/link?url=xQnt4y1ElEV-VlhKZsuzj3AI449l-2Ca9kVB--RKtOfWX1FbJyEAKmMyUm0DZ0hKEli
⑻ sql里怎样统计一个字段中某个字符出现的个数
用replace
,
将空格替换成‘’,就是空的,
然后跟原先的字符长度比较,
得出的就是字符串的个数。
嘿嘿~
刚刚想到的。
select
id,
len(nr)
-
len(replace(nr,'
'
,
'')
)
from
temp
⑼ SQL语句统计多个字段某个字符的个数
1.这个很好解决,就是工具自己的数据字符串的最长可能出现的长度来选择对应该列的数据类型,
2.其中varchar,char类型可以存放8000个字符,而text类型则能存储2g个字符,相信应该够用了,
3.使用sql语句向字段中存储字符串的语句如下:
update
表名
set
字段名=你要存储的字符串呵呵,希望能有帮助,^_^
⑽ 用t-sql语句 统计一个字符串中数字,字母,空格以及其他字符的数量
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 DBO.TJ(NAME)