gpt4 book ai didi

c# - Linq Orderby 与 SQL Orderby

转载 作者:行者123 更新时间:2023-11-30 20:18:09 28 4
gpt4 key购买 nike

我有一个包含以下数据的表列 (Varchar):

COLUMN_NAME

  1. 102100
  2. 1-2000
  3. 112100

当我在 SQL 语句中使用 OrderBy 时,我按以下顺序获取项目:

COLUMN_NAME

  1. 1-2000
  2. 102100
  3. 112100

如果我查询数据(数据来自 WCF)并使用 LINQ OrderBy,我将按以下顺序获取项目:

属性名称

  1. 102100
  2. 112100
  3. 1-2000

数据“1-2000”在 SQL 和 LINQ 中的排序似乎不同。

我尝试使用 StringComparison.OrdinalStringComparison.InvariantCulture,但它似乎仍然不起作用。

请帮忙!

最佳答案

由于您的问题被标记为“Oracle”,我猜您正在将 SQL 语句发送到 Oracle 数据库。

Oracle 数据库使用的排序在“NLS”设置中定义。此设置的默认值取决于 Oracle 的安装方式和主机服务器上的操作系统。

更多信息在这里: https://docs.oracle.com/cd/B28359_01/server.111/b28298/ch5lingsort.htm

还有一份来自 Oracle 的非常详细的白皮书: http://www.oracle.com/technetwork/database/database-technologies/globalization/twp-appdev-linguistic-sorting-10gr2-132064.pdf

摘录:

“西类牙传统上将 chll 以及 ñ 视为自己的字母,在 cln。例如,以下西类牙语单词将按列表排序:

cabalmente, caballa, cantina, caña, clamar, curador, chácara

最近,这种传统的西类牙语排序做法已被现代西类牙语排序所取代,这消除了 chll 的特殊地位。”

关于c# - Linq Orderby 与 SQL Orderby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394968/

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