List all Table Columns that have Collations different than the SQL Server Database

To list all column collations for character-based columns (char, varchar, text, nchar, nvarchar, and ntext data) for all user-defined tables in a database (in this example we will use AdventureWorks database) that have different collation than the Database collation, run this query:

USE AdventureWorks
GO
DECLARE @DB_Name VARCHAR(50)
SET @DB_Name=(SELECT DB_NAME())
DECLARE @DB_Collation VARCHAR(50)
SET @DB_Collation=CAST(DATABASEPROPERTYEX(@DB_Name, 'Collation') as varchar(50))
SELECT s.name as 'Schema_Name', t.name as Table_Name,
c.name AS Column_Name,
c.collation_name AS Collation,
@DB_Collation AS Database_Collation
FROM sys.schemas s
INNER JOIN sys.tables t
ON t.schema_id = s.schema_id
INNER JOIN sys.columns c
ON c.object_id = t.object_id
WHERE collation_name is not null
AND collation_name <> @DB_Collation
ORDER BY Column_Name

list_all_column_collations_different_than_database

To see how to List all Column Collations for all Tables in a SQL Server Database, read related blog post:
List all Column Collations for all Tables in a SQL Server Database