gpt4 book ai didi

sql - 在 PostgreSQL 中选择小写 + unaccent + 多列

转载 作者:行者123 更新时间:2023-11-29 13:46:10 25 4
gpt4 key购买 nike

表格学校

id | address                 | name
1 | Rybničná 59, Bratislava | Stredná odborná škola elektrotechnická
2 | Ul. Sibírska 1, Trnava | Stredná odborná škola elektrotechnická

我想要什么

来自客户端如果我想输入:

  1. Stredná odborná
  2. stredná odborná
  3. 斯特丽娜·奥博纳

它必须找到 id 为 1 和 2 的行

如果我想输入 Bratislava 或 bratis 它必须找到 id 为 1 的行

我有什么

SELECT * FROM schools WHERE unaccent(address) LIKE ('%' || 'bratis' || '%');

我需要从 2 列(地址和姓名)中进行选择

最佳答案

进行搜索case insentive ,使用 ILIKE 而不是 LIKE。然后,您还想从输入字符串中删除重音符号。最后,只需使用 ANDOR 来组合这两个条件(请注意,您可以对两列使用相同的搜索词 - 使用 OR在这种情况下)

SELECT * FROM schools 
WHERE unaccent(address) ILIKE ('%' || unaccent('bratis') || '%')
AND unaccent(name) ILIKE ('%' || unaccent('Stredná odborná') || '%')

关于sql - 在 PostgreSQL 中选择小写 + unaccent + 多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190739/

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