ORACLE 字符串补零

摘要:
标准函数Lpad可以实现左调零,但如果长度超过所需长度,则字符串将被截断。SELECTLPADPRODUAL结果:01234正确情况2:不需要零填充。SELECTLPADFROMDUAL结果:12345错误-------------------------可以通过以下方式实现:1.使用条件判断语句:CASEWHENSELECTCASEWHENLENGTH˂5THENTO_ CHARLESTRENDFORMUAL Case 1:str:='123456'结果:123456 Case 2:结果:01234str:='1324'结果:012342熟练使用CONCAT和SUBSTR。因为SUBSTR的起始索引超过了字符串长度,所以返回一个空字符串。

标准函数Lpad 可以实现左补零,但是如果多于需要长度,则会截断字符串。
如下:
-----------------------
情况一:需要补零。   
    SELECT LPAD ('1234' , 5 , '0') FROM DUAL
    结果:01234        正确 
情况二:不需要补零。
    SELECT LPAD ('123456' , 5 , '0') FROM DUAL
    结果:12345        错误 
-----------------------

有如下方式实现:
1 使用条件判断语句:CASE WHEN
   SELECT 
   CASE 
     WHEN LENGTH(str) < 5 THEN TO_CHAR(str ,'00000') 
     ELSE str 
     END
    FROM DUAL
  情况一:
    str:='123456'
    结果:123456
  情况二:结果:01234
    str:='1234'
    结果:01234
2 巧妙使用CONCAT SUBSTR 
   因为SUBSTR的开始Index超过字符串长度是,返回空字符串。  如 SUBSTR('0000' , 5),结果为:空字符串。
SELECT CONCAT(
    SUBSTR('0000' , LENGTH(str)) , 
    str) FROM DUAL
  情况一:
    str:='123456'
    结果:123456
  情况二:结果:01234
    str:='1234'
    结果:01234

免责声明:文章转载自《ORACLE 字符串补零》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VUE-路由配置及跳转方式SQLite3 约束和简单命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DISPLAY变量和xhost(原创)

DISPLAY 在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结...

一次Oracle修改最大连接数,导致oracle重启后无法登陆实例

       这是一次本地压力测试,由于默认Oracle 10g的数据库最大连接数是150。但是要程序的压力测试要用到300。 于是我参考网上资料,执行下面两行命令,修改最大连接数后,重启oracle服务器,就发生了错误提示oracle无法登陆。 step 1: 修改最大连接数 # 查询 当前最大连接数select value from v$paramet...

Qt中indexOf()和lastIndexOf()查找字符串位置

    首页 » JavaScript » indexOf()和lastIndexOf()查找字符串位置 indexOf()和lastIndexOf()查找字符串位置 发表于 2011-10-05 由 admin   有两个可以从字符串中查找子字符串的方法:indexOf()和lastIndexOf()。这两个方法都是从一个字符串中搜索给定的字符串,然后返...

oracle undo表空间异常激增排查

1.查看undo表空间使用大于98% 2.查看视图v$undostat,确认MAXQUERYID 占用undo最大的sql,TUNED_UNDORETENTION和预设的show parameter undo undo_retention是否一致,理想是一致的。 select * from v$undostat;    MAXQUERYID : SQL...

[Android Security] 静态分析Android程序——smali文件解析

cp : https://blog.csdn.net/hp910315/article/details/51823236 cp : http://www.jb51.net/softjc/119036.html 静态分析Android程序的两种方法: 一、阅读反编译生成的Dalvik字节码。 1、使用文本编辑器阅读baksmali反编译生成的smali文件...

定时导出Oracle数据表到文本文件的方法

该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式。其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现。该示例需要能够运行的sqlplus环境,因此需要安装Oracle客户端等可运行环境。     实现了将数据库中日志表数据导出到指定文件夹下的.log文件,且该文...