oracle
文章平均质量分 58
C_staunch
互相学习,互相交流,互相进步!
展开
-
oracle中去掉回车、Tab、制表、空格等特殊符号
Oracle数据库中有各种数据类型,其中varchar2是存放字符串数据类型的,也是使用最多的类型,可以存储大部分的字段,包括常用的以及一些特殊的字符(如换行符、回车符、空格符等),但是这些特殊字符有时会对查询或输出造成影响,所以有时需要把这些特殊的字符去掉,如何有效去掉这些特殊的字符,下面一起看看。 首先,查看字符串中是否有这些特殊的字符,空格符还好点,可以看见明显的空格符号,如:abc edf,但是回车或换行就不明显了,这时就需要其他手段来查看了。一、instr()...原创 2021-03-12 11:04:33 · 7399 阅读 · 0 评论 -
Oracle中sql特殊语句 where后面的字段后面加(+)
在编程过程当中,忽然看到有一段SQL语句中where的字段后面跟着(+),以前没写过这样的sql语句,于是起了好奇之心,想探究一下这个语句的作用是什么。举一个例子,如SQL:select a.*,b.* FROM tmp_0813001 a,tmp_0813002 b where a.id=b.id(+) ;这种语句的写法相当于sql语句中的外连接,下面分析一下。创建两张临时表,tmp_0813001 和 tmp_0813002,用于测试。 1.如果是在等号右...原创 2020-08-14 16:07:58 · 7614 阅读 · 0 评论 -
Oracle中的translate和replace函数
工作过程中写sql时,遇到了需要将原始字符串的某些字符替换成所需字符的需求,查到了两个函数,translate()和replace(),接下来讲讲它们的区别translate函数语法:translate(expr, from_string, to_string)含义:translate返回expr值,其中出现在from_string中的每个字符都会被to_string中的相应字符...原创 2019-10-29 11:23:18 · 2058 阅读 · 0 评论 -
Oracle中使用max函数取表中字符串的最大值时出错的问题及原因
在开发过程中,遇到了一个问题,困扰了我好一阵子,问题是这样的:这是Oracle数据库中的一个表,orderno是序列号,每次插入数据时加1我们取序列号最大的值,按理说,orderno最大的应该是11,但是事实是这样的:取出来最大的是9,而不是11,郁闷的好几天,最后让我给找到的原因:orderno在建表的时候定义的是varchar2,而不是number,所以导致最大值取的是...原创 2019-08-29 11:01:59 · 8957 阅读 · 1 评论 -
Oracle数据库decode函数报错(ORA-01722: invalid number)
在工作过程中,跑批处理的时候数据库报了一个错,ORA-01722: invalid number(无效数字)经过检查发现是在查询decode函数时报错,将报错的代码单独拿出来最后发现原来是decode函数中值的类型不同导致的。先看一下decode函数的含义:decode函数语法:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)含义:...原创 2019-10-09 11:23:43 · 3974 阅读 · 0 评论