gpt4 book ai didi

sql - SQL Server SQL_Latin1_General_CP1_CI_AS 能否安全地转换为 Latin1_General_CI_AS?

转载 作者:行者123 更新时间:2023-12-01 23:47:10 24 4
gpt4 key购买 nike

我们有一个旧数据库,其中一些(较旧的)列使用“SQL_Latin1_General_CP1_CI_AS”,最近的更改已使用“Latin1_General_CI_AS”。

这很痛苦,因为连接需要额外的 COLLATE 语句才能工作。

我想将所有内容都调整为“Latin1_General_CI_AS”。据我所知,它们或多或少是相同的排序规则,并且在此过程中我不会丢失数据......

有谁知道是这样吗?

最佳答案

这是一个更完整的答案:

https://www.olcot.co.uk/revised-difference-between-collation-sql_latin1_general_cp1_ci_as-and-latin1_general_ci_as/

这些排序规则之间的主要区别在于它们如何应用字符扩展规则。某些拉丁字符可以扩展为多个字符。在处理非 unicode 文本时,SQL_xxxx 排序规则可能会忽略这些字符扩展,但将它们应用于 unicode 文本。因此:当使用一种排序规则与另一种排序规则时,连接、排序和比较可能会返回不同的结果。

示例:

Latin1_General_CI_AS 下,这两个语句返回同一组记录,因为 ß 扩展为 ss

SELECT * FROM MyTable3 WHERE Comments = 'strasse'
SELECT * FROM MyTable3 WHERE Comments = 'straße'

使用SQL_Latin1_General_CP1_CI_AS时,上述语句返回不同的记录,因为ß被视为与ss不同的字符。

关于sql - SQL Server SQL_Latin1_General_CP1_CI_AS 能否安全地转换为 Latin1_General_CI_AS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6296936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com