【问题标题】:Order a select result case insensitively?不区分大小写地订购选择结果?
【发布时间】:2010-10-22 02:08:43
【问题描述】:

是否可以不区分大小写地对 db2 数据库上的选择查询结果进行排序?

例如: 我想将所有以“a”或“A”开头的名称排序在一起。

Abraham
aron
andrea
Annica
brian
Benjamin

现在是这样的:

aron
andrea
brian
Abraham
Annica
Benjamin

【问题讨论】:

  • 您必须在 zOS 上使用 DB2;在 LUW 上,大写名称将位于小写名称之前(EBCDIC 与 ISO 8859-1 等系统之间的区别)。

标签: sql database select db2


【解决方案1】:
order by lower(columnname);

【讨论】:

    【解决方案2】:

    假设您使用的是 DB2/400(假设来自您的另一篇文章),那么您希望将请求该查询的作业的排序顺序更改为 SRTSEQ(*LANGIDSHR)。您还可以(并且应该)使用该设置构建索引,以便使用索引。

    运行 lower() 函数将强制 DB2 评估每一行的函数并构建一个巨大的临时表来处理它。它会起作用……但效果不佳。

    【讨论】:

      猜你喜欢
      • 2014-05-24
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2019-02-06
      相关资源
      最近更新 更多