SQL SERVER – Find Collation of Database and Table Column Using T-SQL

Today we will go over very quick tip about finding out collation of database and table column. Collations specify the rules for how strings of character data are sorted and compared, based on the norms of particular languages and locales

Today’s script are self explanatory so I will not explain it much.

/* Find Collation of SQL Server Database */
SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation')
GO
/* Find Collation of SQL Server Database Table Column */
USE AdventureWorks
GO
SELECT name, collation_name
FROM sys.columns
WHERE OBJECT_ID IN (SELECT OBJECT_ID
FROM sys.objects
WHERE type = 'U'
AND name = 'Address')
AND
name = 'City'

SQL SERVER - Find Collation of Database and Table Column Using T-SQL findcollation

Reference : Pinal Dave (https://blog.sqlauthority.com)

Solarwinds
, , ,
Previous Post
SQLAuthority News – Wedding Day of Author – Photographs – Mr. and Mrs. SQLAuthority
Next Post
SQL SERVER – Interesting Interview Questions – Revisited

Related Posts

12 Comments. Leave new

  • You can do the same with

    select table_name, column_name, collation_name
    from information_schema.columns
    where table_name = @table_name

    Reply
  • Thank You very much…

    Reply
  • Hmm,
    Anyone else get this error when attempting to execute the output from script 3?:

    ERROR: Load object, dump buffer.

    ERROR: Load object, dump buffer.

    Reply
    • I too got the following error for 3rd script (script to add dependencies) ERROR: Load object, dump buffer.

      Reply
      • I know this is late, but it will help someone in future…We receive this error if the sequence is not followed properly during the execution. we see this error when step 14 is accidentally skipped.

  • Dharmender Kumar
    May 16, 2011 2:57 pm

    Sir, Let suppose i have a column name “something_contact” in a table of database. Now i want to make a filter that will show me all the columns which contains “contact”. Remember it should be column not table containing “contact”. Is it posible?

    Reply
  • If i am getting you right, i think i you can use like clause:

    SELECT name
    FROM sys.columns
    where name Like ‘%contact%;

    Reply
  • Hi Pinal,
    I have changed the rule to handle case sensitive by updating database to SQL_Latin1_General_CP1_CI_AS.It worked fine. But again after changing the rule to SQL_Latin1_General_CP1_CS_AS ,it is behaving case sensitive ..

    Reply
  • HI Pinal,

    We have a situation where we are upgrading all our databases to new collation but do not know how to change all columns, fields, tables to the new collation. Any suggestion will be appreciated.

    Reply
  • Satinder singh
    July 11, 2017 1:28 pm

    Great article site

    Reply
  • Artemisa Uchija
    June 9, 2018 2:57 am

    How can I do this for a table type @table, because im getting this error for a temporary table:

    Msg 468, Level 16, State 9, Procedure SPPInteroperaSiniestroOrdenCompania, Line 227
    Cannot resolve the collation conflict between “SQL_Latin1_General_CP850_CI_AS” and “SQL_Latin1_General_CP850_CI_AI” in the equal to operation.

    Reply

Leave a Reply

Menu