SQL Server临时表中列的计数

6

在SQL Server中,有没有一种方法可以计算临时表(#temptable)中列的数量?


http://stackoverflow.com/questions/18486253/how-to-get-count-of-columns-on-temp-table - Pratik
4个回答

13
SELECT COUNT(*)
FROM tempdb.sys.columns
WHERE object_id = object_id('tempdb..#mytemptable')

1
查询指定表的列数
SELECT Count(*) as cnt into #TempTable FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = 'TableName'

查询指定表的列名
SELECT COLUMN_NAME into #TempTable FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = 'TableName'

查询 #TempTable 的列数

SELECT COUNT(*) as Cnt FROM tempdb.sys.columns WHERE object_id = object_id('tempdb..#TempTable')

DROP table #TempTable

0
您可以使用以下查询语句:
Declare @TableName NVarChar(150)
Declare @ColumnName NVarChar(150)
Set @TableName = ''
Set @ColumnName = ''

SELECT 
    t.name AS table_name,
    SCHEMA_NAME(schema_id) AS schema_name,
    c.name AS column_name
FROM sys.tables AS t
    INNER JOIN sys.columns As C ON t.OBJECT_ID = c.OBJECT_ID 
Where 
    ( T.name Like '%' + @TableName + '%' )
    And
    ( C.name Like '%' + @ColumnName + '%' ) 


SELECT 
    COUNT(C.Name) Count_Of_Columns,
    COUNT(Distinct T.Name) Count_Of_Tables
FROM sys.tables AS t
    INNER JOIN sys.columns As C ON t.OBJECT_ID = c.OBJECT_ID 
Where 
    ( T.name Like '%' + @TableName + '%' )
    And
    ( C.name Like '%' + @ColumnName + '%' ) 

-2
SELECT COUNT(*) FROM temptable

COUNT(*) 将返回行数的计数 - Pratik
抱歉,我误解了。 - david

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接