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'
Reference : Pinal Dave (https://blog.sqlauthority.com)
13 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
Yeah, this works! Thank you!
Thank You very much…
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.
I too got the following error for 3rd script (script to add dependencies) ERROR: Load object, dump buffer.
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.
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?
If i am getting you right, i think i you can use like clause:
SELECT name
FROM sys.columns
where name Like ‘%contact%;
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 ..
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.
Great article site
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.
useful thank you