gpt4 book ai didi

postgresql - 在 PostgreSQL 中查找字符串并按到字符串开头的距离排序

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

我正在尝试编写一个查找部分字符串的查询,但按靠近字符串前面的顺序进行排序。它适用于预先输入的应用程序。

这是我目前的查询:

SELECT  DISTINCT ON (full_name) full_name
FROM users
WHERE (lower(full_name) LIKE 'q%' OR lower(full_name) LIKE '%q%')
LIMIT 10

但它似乎并没有按照我期望的方式排序。

因此,如果我搜索“pet”,我想在 abigail peters 之前返回 peter smithpetra glif

where 子句可以这样写吗?我们目前没有在数据库中安装任何模糊文本搜索模块,因此我想尽可能避免这样做。

最佳答案

您可以为此使用 position(substring in string) 函数:

order by position(lower('pet') in lower(full_name))

http://www.postgresql.org/docs/9.1/static/functions-string.html

关于postgresql - 在 PostgreSQL 中查找字符串并按到字符串开头的距离排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31009890/

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