В чем разница между SQL Latin1 General CP1 CI AS и SQL Latin1 General CP1 CI AI

Я получаю эту ошибку при запуске запроса обновления в Microsoft SQL Server

Не удается разрешить конфликт параметров сортировки между "SQL_Latin1_General_CP1_CI_AS" и "SQL_Latin1_General_CP1_CI_AI" в операции equal to.

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

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

1 ответов


AI означает нечувствительный к акценту (т. е. определяет, если cafe = café). Ключевое слово collate можно использовать для преобразования одного (или обоих) параметров сортировки значений.
См. ссылку для получения дополнительной информации:http://msdn.microsoft.com/en-us/library/aa258237 (v=sql.80).aspx

пример:

select * from r
left outer join hr on hr.name = r.name COLLATE SQL_Latin1_General_CP850_CI_AI