Skip to content

Instantly share code, notes, and snippets.

@rajanand
Created February 9, 2014 18:49
Show Gist options
  • Save rajanand/8904178 to your computer and use it in GitHub Desktop.
Save rajanand/8904178 to your computer and use it in GitHub Desktop.
To find the total counts of data types of the columns in all the databases. - SQL Server
--------------------------------------------------------------------------------------------
--To find the total counts of data types of the columns in all the databases. - SQL Server 2012.--
--------------------------------------------------------------------------------------------
USE tempdb
-- Result Table
CREATE TABLE DataTypeDetails (
DataBaseName VARCHAR(30)
,IMAGE INT
,XML INT
,MONEY INT
,INT INT
,DECIMAL INT
,TIMESTAMP INT
,VARBINARY INT
,SMALLINT INT
,VARCHAR INT
,BINARY INT
,DATETIME INT
,NUMERIC INT
,UNIQUEIDENTIFIER INT
,TINYINT INT
,NCHAR INT
,SMALLDATETIME INT
,FLOAT INT
,CHAR INT
,BIGINT INT
,NVARCHAR INT
,SMALLMONEY INT
,BIT INT
)
--To find the number of datatypes used in all the databases.
EXEC sp_MSforeachdb '
USE [?];
BEGIN
INSERT INTO tempdb..DataTypeDetails
SELECT '' ? '' AS DataBaseName
,*
FROM (
SELECT DATA_TYPE
,COUNT(1) AS cnt
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY data_type
) AS s
pivot(sum(cnt) FOR data_type IN (
IMAGE
,XML
,MONEY
,INT
,DECIMAL
,TIMESTAMP
,VARBINARY
,SMALLINT
,VARCHAR
,BINARY
,DATETIME
,NUMERIC
,UNIQUEIDENTIFIER
,TINYINT
,NCHAR
,SMALLDATETIME
,FLOAT
,CHAR
,BIGINT
,NVARCHAR
,SMALLMONEY
,BIT
)) p
END'
-- To see the final result
SELECT * FROM tempdb..DataTypeDetails
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment