gpt4 book ai didi

sql - PGSQL 查询以在每个用户名中使用特定字母进行排序

转载 作者:行者123 更新时间:2023-11-29 13:17:14 30 4
gpt4 key购买 nike

我必须编写一个查询,以某种方式对我的用户名进行排序(排序),其中应优先使用特定字母(在名称中)进行排序。例如,如果我有用户 Lemon、Loger、Alan、Avon、Bland、Cavin、Clauge,那么我的查询应按以下顺序返回这些用户:

  • 柠檬
  • 记录员
  • 艾伦
  • 温和
  • 克劳奇
  • 雅芳
  • 凯文

即“L”字母优先排序

最佳答案

您可以使用position 函数来提取l 的位置,并据此进行排序。但是,请记住两个注意事项:

  1. position 区分大小写,因此您必须明确处理大小写(例如,通过小写字符串进行搜索)。
  2. 如果您要搜索的子字符串(在本例中为 l)不在字符串中,position 将返回 0 ,因此您必须显式处理 0 以免没有 Ls 的名称排在第一位而不是最后一位:


SELECT   name
FROM mytable
ORDER BY CASE POSITION('l' IN LOWER(name))
WHEN 0 THEN NULL
ELSE POSITION('l' IN LOWER(name))
END ASC NULLS LAST,
name

关于sql - PGSQL 查询以在每个用户名中使用特定字母进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47363889/

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