gpt4 book ai didi

sql-server - SQL SERVER - 了解 MIN(text) 的工作原理

转载 作者:行者123 更新时间:2023-12-02 02:58:57 24 4
gpt4 key购买 nike

我正在做一些挖掘并寻找有关 SQL Server 如何评估 MIN(Varchar) 的解释。

我在 BOL 中发现了这样的注释:MIN 找到底层数据库中定义的整理序列中的最低值

因此,如果我有一个表,其中一行包含以下值:

Data

AA
AB
AC

执行 SELECT MIN(DATA) 将返回 AA。我只是想了解其背后的原因并更好地理解 BOL。

谢谢!

最佳答案

collation 决定(排序)。对于大多数文化,排序顺序与英语字母表中的字母顺序相同,因此:

  • “AA”<“AB”
  • “AA”<“AC”
  • “AB”<“AC”

因此“AA”是最小值。对于其他文化,这可能不成立。例如,丹麦语排序规则将返回“AB”作为最小值,因为“AA”>“AB”。这是因为“AA”被视为等同于丹麦字母表中的最后一个字母“Å”。

SELECT MIN(s COLLATE Danish_Norwegian_CI_AS) FROM table1;min_sAB

要获得“普通”排序顺序,请使用 Latin1_General_Bin 排序规则:

SELECT MIN(s COLLATE Latin1_General_Bin) FROM table1;min_sAA

要重现此结果,您可以创建此测试表:

CREATE TABLE table1 (s varchar(100));INSERT INTO table1 (s) VALUES ('AA'), ('AB'), ('AC');

关于sql-server - SQL SERVER - 了解 MIN(text) 的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4503703/

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