求汉字生成拼音码首字母函数

表中有一列汉字,需要生成一列拼音码首字母,便于检索,求一个生成拼音码首字母的函数。谢谢!!!

试下这个

-- 1. 确保开启 plpython3u 语言支持 (如果已存在会提示,忽略即可)
CREATE LANGUAGE plpython3u;

– 2. 创建拼音首字母函数
CREATE OR REPLACE FUNCTION func_get_pinyin_initials(in_text TEXT)
RETURNS TEXT
AS $$

导入 pypinyin 库

from pypinyin import lazy_pinyin, Style

# 处理空值情况
if not in_text:
    return ''

# 核心逻辑:获取拼音首字母
# style=Style.FIRST_LETTER 直接获取首字母
try:
    initials = lazy_pinyin(in_text, style=Style.FIRST_LETTER)
    # 将列表拼接成字符串,例如 \['z', 'g'\] -> 'zg'
    return ''.join(initials)
except Exception as e:
    # 如果出错(比如非中文字符),返回原文或空字符串
    return in_text

$$ LANGUAGE plpython3u;