You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中如何获取LPAD补位后的数字子串?解决ORA-00907报错

Oracle补位后提取前两位的实现方案

当然可以实现,你遇到的ORA-00907报错是因为SQL语法错误——LPAD(S.ID_STUDENT,6,0)后面多写了一个多余的0,导致括号不匹配,语法结构混乱。

修正后的正确SQL语句如下:

SELECT SUBSTR(LPAD(S.ID_STUDENT, 6, '0'), 1, 2) FROM MASTER.T_STDNT S

语句说明:

  • LPAD(S.ID_STUDENT, 6, '0'):将学生ID补全为6位长度,不足的位置在左侧填充0,比如原ID为12345会转换为012345。
  • SUBSTR(..., 1, 2):从补位后的字符串第1位开始,截取长度为2的子串,最终得到前两位数字(如01)。

另外也可以用TO_CHAR函数配合格式掩码实现补位,效果相同:

SELECT SUBSTR(TO_CHAR(S.ID_STUDENT, 'FM000000'), 1, 2) FROM MASTER.T_STDNT S

内容的提问来源于stack exchange,提问作者Voozy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:47:35