栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在两列中忽略大小写和特殊字符查找可能的重复项

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在两列中忽略大小写和特殊字符查找可能的重复项

[
lower()
](http://www.postgresql.org/docs/current/interactive/functions-

string.html#FUNCTIONS-STRING-SQL)/

upper()

使用其中之一将字符折叠为小写或大写。特殊字符不受影响:

SELECt count(*), lower(name), numberFROM   tblGROUP  BY lower(name), numberHAVINg count(*) > 1;

unaccent()

如果您实际上想忽略变音符号(如您的注释所暗示的那样),请安装附加模块

unaccent
,该模块提供了一个文本搜索字典,该字典可以删除重音符号以及通用功能
unaccent()

CREATE EXTENSION unaccent;

使其非常简单:

SELECT lower(unaccent('B眉脽ercaf茅')) AS norm

结果:

busercafe

这不会去除非字母。添加

regexp_replace()
像@Craig提到的那样:

SELECT lower(unaccent(regexp_replace('$s^o&f!t B眉脽ercaf茅', 'W', '', 'g') ))   AS norm

结果:

softbusercafe


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431591.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号