Подтвердить что ты не робот

Не удается разрешить конфликт сортировки между "SQL_Latin1_General_CP1_CI_AS" и "Latin1_General_CI_AI" в равном действии

Я получаю ниже указанную ошибку сортировки, так как я перешел с настольного компьютера на ноутбук. В моей базе данных хранится сотни хранимых процедур, поэтому любое решение, такое как переопределение некоторых запросов или исправление сопоставления для столбца, для меня невозможно.

"Невозможно разрешить конфликт сортировки между" SQL_Latin1_General_CP1_CI_AS "и" Latin1_General_CI_AI "в равном действию"

Моя проблема не уникальна, и я искал ее довольно много, но доступные решения позволяют мне переопределять запросы с некоторым кодом, который невозможен. Пожалуйста, предложите какое-то решение, которое может избежать этой вещи.

Я пробовал это, чтобы изменить сортировку базы данных.

ALTER DATABASE testDB  
COLLATE French_CI_AI ;  
GO  

Спасибо.

4b9b3361

Ответ 1

Просто используйте следующий синтаксис для сопоставления "на лету" при объединении таблиц с разными сортировками. Я интегрирую систему, поэтому должен сделать это.

select * from [Product] p join [category] c 
on  
c.[Name] collate SQL_Latin1_General_CP1_CI_AS 
= 
p.[Name] collate SQL_Latin1_General_CP1_CI_AS

Ответ 2

USE master;
GO
ALTER DATABASE PRATAP
COLLATE Latin1_General_CI_AS_KS_WS ;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N' PRATAP ';
GO