本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。 b.rows AS [ RECORD COUNT ] FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE ( a.type = ' u ' ) AND ( b.indid IN ( 0 , 1 ) ) ORDER BY a.name , b.rows DESC

//查询所有的标明及空间占用量\行数 select object_name(id) tablename, 8*reserved/1024 reserved, rtrim(8*dpages)+'kb' used, 8*(reserved-dpages)/1024 unused, 8*dpages/1024-rows/1024*minlen/1024 free, --,* from sysindexes where indid=1 order by tablename,reserved desc
SELECT  T.TABLE_NAME AS [TABLE NAME] ,
        MAX(I.ROWS) AS [RECORD COUNT]
FROM    SYSINDEXES I ,
        INFORMATION_SCHEMA.TABLES T
WHERE   T.TABLE_NAME = OBJECT_NAME(I.ID)
        AND T.TABLE_TYPE = 'BASE TABLE'
GROUP BY T.TABLE_SCHEMA ,
        T.TABLE_NAME; 
---------------------------------------------------------------
SELECT  OBJECT_NAME(id) AS [TABLE NAME] ,
        rowcnt AS [RECORD COUNT]
FROM    sysindexes
WHERE   indid < 2
        AND OBJECTPROPERTY(id, 'ismsshipped') = 0
ORDER BY OBJECT_NAME(id)  
--执行存储过程   
EXEC sp_msforeachtable 'insert   into   ##RowCount   ([TABLE NAME],[RECORD COUNT])   select   ''?''   tableName,   count(*)   dataCount from   ?'   
--查询结果
SELECT  *
FROM    ##RowCount
ORDER BY [TABLE NAME]  
DROP TABLE ##RowCount 
--统计一个数据库中所有表记录的数量
-- 最近公司的数据库发现有表的数据被弄掉了,有些数据表记录为0,于是想找出此数据库中到底有哪些数据表的记录都为0以缩小分析范围,可使用如下的SQL Statement: 
CREATE   TABLE #tmptb
      tbname sysname ,
      tbrows INT ,
      tbREserved VARCHAR(10) ,
      tbData VARCHAR(10) ,
      tbIndexSize VARCHAR(10) ,
      tbUnUsed VARCHAR(10)
INSERT  INTO #tmptb
        EXEC sp_MSForEachTable 'EXEC   sp_spaceused   ''?''' 
SELECT  *
FROM    #tmptb
 --列出所有表的情况 
SELECT  tbrows ,
        tbname
FROM    #tmptb
WHERE   tbrows = 0 --列出记录数据为0的表
ORDER BY tbname
DROP TABLE #tmptb
--其中
--tbname     表名 
--tbrows     记录数 
--tbREserved     保留空间 
--tbData     使用空间 
--tbIndexSize     索引使用空间 
--tbUnUsed   未用空间
  --SQLServer遍历数据库所有表及统计表数据总数:
  DECLARE @TableName VARCHAR(255);
  CREATE TABLE #GetRecordingTempTable
      [id] [INT] IDENTITY(1, 1)
                 NOT NULL ,
      [TableName] VARCHAR(255) NOT NULL ,
      [RecordingCount] INT
  DECLARE Table_Cursor CURSOR
    SELECT  [name]
    FROM    sysobjects
    WHERE   xtype = 'U';
  OPEN Table_Cursor;
  FETCH NEXT FROM Table_Cursor INTO @TableName;
  WHILE ( @@FETCH_STATUS = 0 )
    BEGIN
        EXEC('INSERT INTO #GetRecordingTempTable ([TableName],[RecordingCount]) SELECT '''+@TableName+''', COUNT(0) FROM ['+@TableName+'];');
        FETCH NEXT FROM Table_Cursor INTO @TableName;
  CLOSE Table_Cursor;
  DEALLOCATE Table_Cursor;
  SELECT    [TableName] AS [表名称] ,
            [RecordingCount] AS [总记录数]
  FROM      #GetRecordingTempTable
  ORDER BY  [TableName];
  DROP TABLE #GetRecordingTempTable;
                        tp读取sqlserver数据库一个表的时候一个字段类型是text,数据有空格读取出的数据有乱码解决方案...
                    
$sql="SELECT *, REPLACE(CONVERT(varchar(500), GoodsInfo), CHAR(32), ' ') AS GoodsInfo FROM tDelivery WHERE (DeliveryID = '$DeliveryID')"; GoodsInfo这字段是text类型的,不支持REPLACE函数,所以先用CONVERT把这个字段强行转化成varchar500,然后再用REPLACE 把字段里面的空格 CHAR(32)替换成空就ok了!
王磊-phper
原文:sql server 查询本年的每个月的数据 一、以一行数据的形式,显示本年的12月的数据,本示例以2017年为例,根据CreateDate字段判断,计算总和,查询语句如下: select sum(case when datepart(month,CreateDate)=1 then ...