将一个字符串分别列出其数字部分和文字部分
select string,
replace(translate(string, 'abcdefghijklmnopqrstuvwxyz', '##########'),'#',''),
replace(translate(string, '0123456789', '##########'), '#', '')
from tab;
第一列原值,第二列数字,第三列字母
另:
select string,
translate(string, 'abcdefghijklmnopqrstuvwxyz', ''),
translate(string, '0123456789', '')
from tab;
返回结果 后两列都是空值(NULL),问题原因应该是由于空字符串''引起的
调整为 translate(string,' 内容',' ') 问题解决,在内容前和空字符里添一个相同字符,这里是空格
(replace却没问题,不解)
本文介绍了一种使用SQL技巧来分离字符串中数字和字母的方法,并探讨了translate和replace函数在处理字符串时的不同表现。通过具体的SQL查询实例,展示了如何有效提取字符串中的数字与字母部分。
254

被折叠的 条评论
为什么被折叠?



