DB2的substr() 函数

DB2使用substr函数时,当需要截取的字段长度不满足截取的长度时,会出现SQLCODE=-138,SQLSTATE=22011的错误。比如:

substr('12345',1,8)
substr('12345',3,4)

这两种写法都会导致sql执行失败。

在实际使用过程中,需要截取的数据可能只有部分超长,要实现对超长数据的截取可以通过以下的方法。
解决办法
(1)可以通过在数据末尾添加截取长度的空格,截取后再trim的方式。这种方式在数据本身的末尾就有空格等可能被trim的字符时不适用。

trim(substr(concat('12345','        '),1,8))   #8个空格

(2)可以通过case when的方式,先判断数据长度,再决定是否需要截取。

case when length('12345')>8 then substr(concat('12345','        '),1,8) else '12345' end

这里有个地方比较特殊,就是数据长度小于8,即使最终的结果不截取,但是then后面不使用concat方式补充字符长度,sql依然会出现SQLCODE=-138,SQLSTATE=22011的错误。

DB2的substr错误问题相关推荐

  1. 服务器密码修改db2数据库密码错误,db2数据库近一年运行正常,9月4日晚突然连不上数据库,报密码错误,重启数据库后正常?...

    系统环境:aix7+db2 10.5 上层应用报错,因密码校验错误,无法连接数据库:但是在报错的前一刻,数据库连接还是正常的,数据入库也正常. [INFO] 2018-09-04 11:01:11,1 ...

  2. AIX 上配置完成TSM API后,备份DB2时报SQL2062N错误

    问题真多.: bash-3.2$ db2 backup db BPFDB online use tsm SQL2062N  An error occurred while accessing medi ...

  3. 服务器密码修改db2数据库密码错误,DB2用户密码的修改鱼数据库备份恢复的相关问题...

    此文章主要向大家讲述的是DB2用户密码的修改以及数据库备份恢复的相关问题的描述,如果你对DB2用户密码的修改以及数据库备份恢复德相关问题的描述有兴趣的话,你就可以对以下的文章点击观看了. 前天开始安装 ...

  4. db2 脚本运行错误返回错误原因_电脑运行错误代码大全,遇到报错请自己对照断电原因所在吧...

    电脑在运行的时候,会出现一些代码,软件安装不上啊或电脑使用中蓝屏啊出现的代码,每一次出现问题电脑都会以代码的形式反馈,我们就可以凭借错误代码来判断故障源.小编整理了一些常出现的错误代码和问题分享给大家 ...

  5. db2导入发生错误显示不是绝对路径_python编程常见错误总结

    对于python初学者,在编程过程中常犯的错误及解决办法进行汇总和解决.勇哥希望编写此文能帮到大家. 下边是勇哥结合例子给大家现身说法: 第一例:缩进错误(IndentationError) 图1 p ...

  6. db2导入发生错误显示不是绝对路径_AE入门教程: ae模板的导入与使用方法

    AE是一个灵活的基于层的2D和3D后期合成软件,包含了上百种特效及预置动画效果.很多想要自学AE的朋友都苦于没有详细的入门教程,今天本站就为大家带来AE入门教程: ae模板的导入与使用方法. Mac版 ...

  7. db2数据插入错误SQL0000W

    前几天通过数据库管理工具AQT往db2数据库插入数据时,报错: 42603(-10)[IBM][CLI Driver][DB2/6000] SQL0000W 语句处理成功(真的成功了?!).但是数据并 ...

  8. DB2数据库常见问题汇总

    DB2数据库常见问题汇总 1.1 创建存储过程时需要注意变量声明的顺序 创建存储过程时,声明变量顺序不符合规范将提示: SQL0104N An unexpected token "" ...

  9. 很好的db2 学习资料(windows)

    实验一:DB2实验环境设置(2学时) 实验任务: A. 安装DB2数据库系统. B. 建立拥有系统管理权限(SYSADM)的新用户(inst1)和组(adm1). C. 建立新的DB2实例(inst1 ...

最新文章

  1. navicat 几个 可用的东西
  2. caffe中Makefile.config详解
  3. Eclipse 运行Openfire源码(Windows)
  4. 前端学习(2607):vue指令
  5. Excel2013打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?...
  6. Redis学习---(3)Redis 配置
  7. Codecraft-18 and Codeforces Round #458: C. Travelling Salesman and Sp(组合数)
  8. AMPL—快速了解,秒懂它。
  9. 如何学好3D引擎编程
  10. SHFileOperation复制文件夹、文件用法
  11. 学校计算机管理维修制度,青岛滨海学院计算机机房管理制度
  12. Go的安装使用(一)
  13. 面向对象(OOP)概念理解,通俗易懂
  14. 人生若只如初见,碧海青天夜夜心
  15. Qt调试模式提示 Temporarily disabling breakpoints for unloaded shared library
  16. Battle接口测试训练系统的1分钟快速说明
  17. 企业生产经营相关英文及缩写之(12)--Currencies 货币代码
  18. Tableau仪表板搭建
  19. 剑灵灵动区服务器位置,《剑灵》这波电二合区,属实让我脑壳疼
  20. matlab点集配准,matlab练习程序(对应点集配准的四元数法)

热门文章

  1. 【邀请函】3月25日平台赋能 数智创新——用友BIP PaaS云平台iuap数智化百城论坛·郑州站
  2. 史上最卷618背后:国产手机厂商突围的“新武器”
  3. 群晖NAS通过IPV6设置域名解析
  4. Netron神经网络结构可视化只显示权重没有箭头,已解决
  5. ARP协议与DNS协议详解
  6. JAVAAPI获取中文拼音(大小写字母转化)
  7. 卷积神经网络之(使用重复元素的网络)VGG
  8. 浅谈Java中final,finalized,finally
  9. Android性能优化—MAT之OQL详解(三)
  10. 从甜甜圈到数字孪生| 大帅老猿threejs特训