繁体   English   中英

使用 SQL 查询提取特定的字母字符

[英]Extract specific alphabetic characters using SQL query

背景:我在 CentOS 上使用 PostgreSQL 11。 我有一个 UTF-8 编码的数据库,在特定的表中我有一些拉丁字符如下 [ÄéÒçòý]

目标:我想用标准英文字符替换那些我试图使用以下查询列出这些特定字符但设置所有字符:

SELECT name_0 from public.gadm36_0_iso2_iso3 where name_0 ~ '[[:alpha:]]'; 

在此处输入图片说明

我在我这边搜索并参考一些帖子

任何帮助/任何建议都会很棒!!!

也许您正在寻找unaccent

CREATE EXTENSION unaccent;

SELECT unaccent('ÄéÒçòý');

 unaccent 
----------
 AeOcoy
(1 row)

您可以为此使用正则表达式

SELECT 'ÄéÒçòý' ~* '\\A[A-Z0-9]*\\Z';

上述 SQL 语句的输出应为 false。 所以在你的 where 子句中使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM