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

2025-10-15 12:27:10

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]

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

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);

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

3、查询表中现有的数据

     select * from [tblCountMax];

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

4、使敏匠用count统计表中的记录行数

     select count(*) from [tblCountMax];

     -- 同样是统计表中记录行数,据说count(1)要快一点

     select count(1) from [tblCountMax];

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

5、使用count与where统计表中满足条件的记录行数

     select count(1) from [tblCountMax] where ISNULL(Col2, '') <> '';

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

6、使用datalength(列)计算一个列的长度

     select DATALENGTH(id), DATALENGTH(Col1), DATALENGTH(Col2)

             , DA TALENGTH(Col3)

     from [tblCountMax]

从结果可以看出:

1、对于varchar类型,有多少字符datalength就等于多少

2、对于nvarchar类型,一个王改汉字算2个喝海此长度

3、对于数字类型,返回的是占用的最大数字的空间字节数

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

7、使用max(datalength(列))计算一个列的最大长度

    select max(DATALENGTH(id)), max(DATALENGTH(Col1))

            , max(DATALENGTH(Col2)), max(DATALENGTH(Col3))

    from [tblCountMax]

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢