多语言展示
当前在线:426今日阅读:181今日分享:30

sqlserver如何统计表记录行数与列的最大长度?

sqlserver数据库中,如果想知道一个表中有多少条记录,或者有多少条满足条件的记录,或者列的最大长度,该怎么实现呢?
工具/原料

sqlserver

方法/步骤
1

打开SQL Server Management Studio管理工具,连接上数据库,输入如下SQL语句创建一张测试表     CREATE TABLE [tblCountMax](         [Id] [varchar](40) NOT NULL,         [Col1] [nvarchar](50) NULL,         [Col2] [int] NULL,         [Col3] [decimal](38,4) NULL         CONSTRAINT [PK_ID] PRIMARY KEY CLUSTERED         (             [Id] ASC        )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]    ) ON [PRIMARY]

2

使用如下SQL语句,插入几行测试数据    insert into [tblCountMax](Id, Col1, Col2, Col3) values(NEWID(), '第一行第一列', 50, 18.5);    insert into [tblCountMax](Id, Col1, Col2, Col3) values(NEWID(), null, null,null);    insert into [tblCountMax](Id, Col1, Col2, Col3) values(NEWID(), '第三行', 5000, 18.5684);

3

查询表中现有的数据     select * from [tblCountMax];

4

使用count统计表中的记录行数     select count(*) from [tblCountMax];     -- 同样是统计表中记录行数,据说count(1)要快一点     select count(1) from [tblCountMax];

5

使用count与where统计表中满足条件的记录行数     select count(1) from [tblCountMax] where ISNULL(Col2, '') <> '';

6

使用datalength(列)计算一个列的长度     select DATALENGTH(id), DATALENGTH(Col1), DATALENGTH(Col2)             , DA TALENGTH(Col3)     from [tblCountMax] 从结果可以看出:1、对于varchar类型,有多少字符datalength就等于多少2、对于nvarchar类型,一个汉字算2个长度3、对于数字类型,返回的是占用的最大数字的空间字节数

7

使用max(datalength(列))计算一个列的最大长度    select max(DATALENGTH(id)), max(DATALENGTH(Col1))            , max(DATALENGTH(Col2)), max(DATALENGTH(Col3))    from [tblCountMax]

推荐信息