• Cadavre (1/9/2012)


    Untested, but something like this should work

    BEGIN TRAN

    DECLARE @SQL AS VARCHAR(MAX)

    SELECT @SQL = COALESCE(@SQL,'') + 'SELECT ' + c.name + ', '''+c.name+''' AS columnName FROM ' + o.name + ' WHERE LEN('+c.name+')=9;' + CHAR(10)

    FROM sys.objects o

    INNER JOIN sys.columns c ON o.object_id = c.object_id

    INNER JOIN sys.types t ON c.system_type_id = t.system_type_id

    WHERE o.type = 'U' AND

    t.name IN ('tinyint','smallint','int','real','money','float','decimal','numeric','smallmoney','bigint')

    EXEC (@SQL)

    ROLLBACK

    Let me try this but not sure it will work