SQL 整理两张表,是否会永久改变排序规则?

SQL collating two tables, will it permanently change the collation?

例如,我试图在同一服务器的两个不同数据库中加入产品销售 table 和客户信息 table,我最终得到 "Cannot resolve the collation conflict between Latin1_General_CI_AS... "错误... 所以我一直在阅读有关整理 DATABASE_DEFAULT 将如何使两个 table 上的唯一标识符列匹配并连接在一起的信息......但是更改是临时的(仅在查询期间)还是实际上更改 2 table 的排序规则? 谢谢

SELECT V.PRODUCT, V.DESCRIPTION, A.NAMECUST, A.NAMECITY   
FROM Warehouse.dbo.v AS V   
INNER JOIN Maindata.dbo.Customerdata AS A   
ON V.CUSTOMER_NUMBER = A.CUSTOMER_NUMBER COLLATE DATABASE_DEFAULT

当在查询中使用 COLLATE(不是 CREATE/ALTER TABLECREATE/ALTER INDEX 语句)时,它会覆盖 table-table(或数据库- default) 排序规则与仅用于该查询的排序规则,表示 "use this collation (comparison algorithm) when comparing values for this query only"。它不会影响磁盘上数据的底层表示或更改任何定义(这就是 ALTER 的用途)。

请注意,在查询中使用 COLLATE 通常会产生不好的代码味道:如果您的数据库一开始就使用正确的排序规则进行设计,那么就没有必要这样做了。