translate(char, char1,char2)实例

case when upper(hao_name) regexp '[0-9A-Z]+'                                                                                                   

then  translate(hao_name,concat('!',

translate(hao_name,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-','!')

),'/') 

else hao_name end as hao_name1


这段主要是为了去除hao_name中的汉字,

举个实例hao_name='571-1号',经过case函数的判断,满足正则,然后第二个translate( )函数,也就是第三行中,根据函数特性,除了a替换为!,其余字符都为空值,也就是hao_name='号',通过concat()连接函数得到hao_name='!号',然后就是第一个translate()函数,第二行中的,translate('571-1号','!号','/'),字符'!'对应'/','号'对应空,得到hao_name='571-1',所以最终hao_name1='571-1'。

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页