标准函数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里面没有sql server里面的类似函数is_number来判断能否转换为数字,怎么办?本文给出答案。
ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...
*输入: vi_sConStr:配置格式字符串 (user/pwd@dbservname) *输出: 无 *返回: 成功解析则大于0,解析失败则小于0 *调用: 使用该函数的程序 *描述: 字符串解析 *******************************************...
lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 ...PS:oracle去掉字符串中所有指定字符 Selec
oracle连接字符串.md
用SQL语句截取字符串, string substr ( string string, int start [, int length]) 参数1:处理字符串 参数2:截取的起始位置(第一个字符是从0开始) 参数3:截取的字符数量
oracle非数字合计,将字段中含有汉子的数据自动转换为 数字0
1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串 解释:string 元字符串 start_position 开始位置(从0开始) length 可选项,子字符串的个数 For example: substr("ABCDEFG", 0); //返回:...
Oracle与.Net连接的常用字符串,很全,适于初学者学习,高手做技术参考资料。 有兴趣的请下载,本想0分,可是自己也快没分了,就1分,不过大家评论下,就是1-1=0了。:-)
针对Oracle数据库中汉字在不通的字符集下所占字符长度不通,在保存时可能需要对源字符串的长度进行判断。 实现过程如下 /** * 针对汉字 进行计算长度 * @param string 计算的字符串 * @param ...
首先想到的就是contains,contains用法如下: select * from students ...select * from students where instr(address, 'beijing') > 0 另外,还有个笨办法,那就是使用like,说到这里大家应该知道怎么做了吧: sel
varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...
CONCAT(字符串1,字符串2) 将字符串1和字符串2连接成一个新的字符串 示例: select CONCAT(job,ename) from emp LPAD(字段,总的大小,添充字符) 左填充即向右对齐 示例: select empno,lpad(sal,10,'*') from emp RPAD...
今天在项目中向数据库的CLOB属性插入一段篇文章(1000~2000)字就会报一个字符串过长的错误。 网上说用流来处理,没有这么做。这像是一个Bug,只要把插入的数据,默认扩充到2000以上就ok了。 下面是这段代码: if(...
对字符串操作的函数 答:ASCII 函数返回字符表达式最左端字符的ASCII 码值 CHR 函数用于将ASCII 码转换为字符 如果没有输入0 255 之间的ASCII 码值CHR 函数会返回一个 NULL 值 应该是必须给chr 赋数字值 concat ...
返回字符串并将字符串的第一个字母变为大写; SQL> select initcap('smith') upp from dual; UPP ----- Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符...
0、说明 本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务...
9.单行函数之字符串函数.rar 10.单行函数之日期函数.rar 11转换函数,rar 12多表查询数据rar 13.PLSQL基础-变星与作用域rar 14.Oracle体结构.ram 15.Oracle体系结构实例管理-内存管理rar 16.0raCle体系结构实例管理...
返回字符串并将字符串的第一个字母变为大写; SQL> select initcap(’smith’) upp from dual; UPP ----- Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符...
-- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子节点 复制一张表的...