Oracle SQL:截取指定位置字符串并替换空格为0的实现咨询
解决方案
直接使用SUBSTR截取目标区间,再配合REPLACE替换空格为0即可,正确的查询语句如下:
SELECT REPLACE(SUBSTR(name, 7, 11), ' ', '0') AS Final_Value, type FROM Table1;
说明
SUBSTR(name, 7, 11):精准截取name字段第7到第17位的字符(共11位),匹配你需要的目标区间。REPLACE(..., ' ', '0'):将截取结果中的所有空格替换为0,完全满足你给出的示例输出要求。
原语句问题分析
你之前用的LPAD(Trim_Value1, 5, '0')功能是当字符串长度不足5时在左侧补0,和你需要的「替换区间内空格为0」的需求完全不符,所以无法得到预期结果。
内容的提问来源于stack exchange,提问作者Miss aya
相关产品推荐
相关产品推荐

