ORACLE用pl/sql中的instr、replace等字符处理函数,字符串为'XXX='时容易视为变量该pl sql怎么用处理?

oracle plsql函数大全(转)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
oracle plsql函数大全(转)
&&资料分享了
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢oracle中类似indexof用法_instr函数
oracle中类似indexof用法_instr函数
在oracle中没有indexof()函数 &
但是提供了一个 instr() 方法 具体用法: &
select instr('保定市南市区','市',1,1)-1 &
解释:1. '保定市南市区' =&可以是表达式,也可以是具体数据 &
& & & & & 2. '市'=&为分离的标志,这里为两组数据中的&市&这个字 &
& & & & & 3. 第一个1为从左边开始,如果为-1,则从右边开始。 &
& & & & & 4. 第二个1为&市&出现的第几次。 &
& & www.2cto.com &
在GBK编码下,一个中文占两个字节 &
select instr('保定市南市区','市',1,1)的值就是5 &
select instr('保定市南市区','市',1,2)的值就是9 &
select instr('保定市南市区','市',-1,1)的值就是9 &
select instr('保定市南市区','市',-1,2)的值就是5 &
作者 qyongkangoracle数据库中的instr的具体用法,在网上搜了很多,最终还是不明白,请教高手解释。_百度知道
oracle数据库中的instr的具体用法,在网上搜了很多,最终还是不明白,请教高手解释。
当instr(a,b)参数为2个时运用,与instr()参数为4个时区别
我有更好的答案
's') FROM -- 返回 1  SELECT instr('syranmo',索引的位置还是要看‘an’的左边第一个字母的位置,所以这里返回4)  SELECT instr('abc'; OR code = &#39, nth_appearance ] ] )  参数分析.  start_position  代表string1 的哪个位置开始查找,1) FROM
-- 返回 4  (就算是由右到左数,职业等等,这里举例是两个员工,工号分别是’A10001′,’A10002′,instr函数返回要截取的字符串在源字符串中的位置。  string2  要在string1中查找的字符串,例如名字,部门,'an&#39INSTR  (源字符串,如下:  SELECT code, name, dept, occupation
FROM staff
WHERE instr(code, '001') & 0;,1,2) FROM dual:  string1  源字符串:  1 2 SELECT
code , name , dept, occupation FROM staff
WHERE code IN ('A10001&#39。  对于上面说到的?这时候你就可以用instr函数。此参数可选,'ra&#39, name , dept, occupation FROM staff
WHERE code = 'A10001','  有时候员工比较多,我们对于那个’觉得比较麻烦,于是就想,其中假设staff是员工表,如下:  SELECT
code , name ,如果返回0表示不包含,否则表示包含,要在此字符串中查找。请看下面示例:  如果我有一份资料, start_position [,第四个参数2,就是说第2次出现a的位置;a&#39。只检索一次;,-1.如果为负数系统会报错。  注意,就是说从字符的开始  到字符的结尾就结束。  语法如下,返回要查找的字符串在源字符串中的开始索引。  nth_appearance  代表要查找第几次出现的string2!)  SELECT instr('syranmo':  instr( string1, string2 [,这样前后只用到两次单引号,相对方便点。  还有一个用法,默认为 1,显然第2次是没有再出现了,所以结果返回0。注意空格也算一个字符:  SELECT,&#39,可以一次性导出来么;
-- 返回 3  1 SELECT instr('syran mo&#39:  如果String2在String1中没有找到,instr函数返回0;) FROM dual,code)&0;  查询出来结果一样,如果省略默认为1. 字符串索引从1开始,上面都是一些员工的工号(字段:CODE),可是我现在要查询出他们的所有员工情况;
-- 返回 0  (根据条件,由于a只出现一次。如果此参数为正:也可利用此函数来检查String1中是否包含String2,我们可以这样运用instr函数;A10002');  或者,那正常的做法就如下,A10002',从左到右开始检索,如果此参数为负,从右到左检索. 此参数可选,如果省略, occupation FROM staff
WHERE instr('A10001, 目标字符串, 起始位置, 匹配序号)  在Oracle/PLSQL中;A10002', dept.  示例:  SELECT instr('syranmo','d') FROM
-- 返回 0  注
instr('A1',code)
code这个字段是代表员工编号,意思是匹配A10001或A10002在code中有无?不是instr(string 1,string2)中string1是原字符,是不是应该换下呢,
instr('A10001','A10002',code)意思是,在'A10001'中查找'A10002'的开始位置,从'A10001'的第code个字符开始查找,你这样写不管code是多少,都是返回0的。
采纳率:50%
456中的位置,456首先,你运行下这句select&instr(','123,456&#39,789','123;)&from&dual结果还是4,就是左数第4位是逗号&然后。这句select&instr(',&#39,所以最后结果就是8;,',',&#39,因为后边不加参数的话,就代表oracle要从最左端起,找第一个逗号;)&from&dual&nbsp,取第二个逗号的位置,456;这个就是要查找逗号在123,结果是4,这个你应该明白吧,789',5)&from&dual后边多了一个5,也就是以5为起始位,开始找第一个逗号;123;,&#39,所以还是4,789&#39,当你想查第二个逗号的位置的时候select&instr(&#39,456,也就是你要找的第二个逗号的位置了4个参数select&instr(&#39,结果是8,如果2换成3的话;,',1,2)&from&dual就是代表从第一位开始取;123
在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。语法如下:   instr( string1, string2 [, start_position [, nth_appearance ] ] ) string1 源字符串,要在此字符串中查找。
string2 要在string1中查找的字符串 。
start_position 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
nth_appearance 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
注意:   位置索引号从1开始。  如果String2在String1中没有找到,instr函数返回0。  示例:   SELECT instr('syranmo','s') FROM -- 返回 1   SELECT instr('syranmo','ra') FROM -- 返回 3   SELECT instr('syran mo','a',1,2) FROM -- 返回 0
为您推荐:
其他类似问题
instr的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。字符函数&&返回字符值
这些函数全都接收的是字符族类型的参数(CHR 除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的,比如: VARCHAR2数值被限制为2000字符(ORACLE 8中为4000字符),而CHAR数值被限制为255字符(在ORACLE8中是2000).当在过程性语句中使用时,它们可以被赋值给VARCHAR2 或者CHAR类型的PL/SQL变量.
语法: chr(x)
功能:返回在数据库字符集中与X拥有等价数值的字符。CHR和ASCII是一对反函数。经过CHR转换后的字符再经过ASCII转换又得到了原来的字符。
使用位置:过程性语句和SQL语句。
语法: CONCAT(string1,string2)
功能:返回string1,并且在后面连接string2。
使用位置:过程性语句和SQL语句。
语法:INITCAP(string)
功能:返回字符串的每个单词的第一个字母大写而单词中的其他字母小写的string。单词是用.空格或给字母数字字符进行分隔。不是字母的字符不变动。
使用位置:过程性语句和SQL语句。
语法:LTRIM(string1,string2)
功能:返回删除从左边算起出现在string2中的字符的string1。String2被缺省设置为单个的空格。数据库将扫描string1,从最左边开始。当遇到不在string2中的第一个字符,结果就被返回了。LTRIM的行为方式与RTRIM很相似。
使用位置:过程性语句和SQL语句。
NLS_INITCAP
语法:NLS_INITCAP(string[,nlsparams])
功能:返回字符串每个单词第一个字母大写而单词中的其他字母小写的string,nlsparams
指定了不同于该会话缺省值的不同排序序列。如果不指定参数,则功能和INITCAP相同。Nlsparams可以使用的形式是:
&NLS_SORT=sort&
这里sort制订了一个语言排序序列。
使用位置:过程性语句和SQL语句。
语法:NLS_LOWER(string[,nlsparams])
功能:返回字符串中的所有字母都是小写形式的string。不是字母的字符不变。
Nlsparams参数的形式与用途和NLS_INITCAP中的nlsparams参数是相同的。如果nlsparams没有被包含,那么NLS_LOWER所作的处理和LOWER相同。
使用位置;过程性语句和SQL语句。
语法:nls_upper(string[,nlsparams])
功能:返回字符串中的所有字母都是大写的形式的string。不是字母的字符不变。nlsparams参数的形式与用途和NLS_INITCAP中的相同。如果没有设定参数,则NLS_UPPER功能和UPPER相同。
使用位置:过程性语句和SQL语句。
语法:REPLACE(string,search_str[,replace_str])
功能:把string中的所有的子字符串search_str用可选的replace_str替换,如果没有指定replace_str,所有的string中的子字符串search_str都将被删除。REPLACE是TRANSLATE所提供的功能的一个子集。
使用位置:过程性语句和SQL语句。
语法:RPAD(string1,x[,string2])
功能:返回在X 字符长度的位置上插入一个string2中的字符的string1。如果string2的长度要比X字符少,就按照需要进行复制。如果string2多于 X字符,则仅string1前面的X各字符被使用。如果没有指定string2,那么使用空格进行填充。X是使用显示长度可以比字符串的实际长度要长。 RPAD的行为方式与LPAD很相似,除了它是在右边而不是在左边进行填充。
使用位置:过程性语句和SQL语句。
语法: RTRIM(string1,[,string2])
功能: 返回删除从右边算起出现在string1中出现的字符string2. string2被缺省设置为单个的空格.数据库将扫描string1,从右边开始.当遇到不在string2中的第一个字符,结果就被返回了RTRIM的行为方式与LTRIM很相似.
使用位置:过程性语句和SQL语句。
语法: SOUNDEX(string)
功能: 返回string的声音表示形式.这对于比较两个拼写不同但是发音类似的单词而言很有帮助.
使用位置:过程性语句和SQL语句。
SUBSTR& 截取子串
语法: SUBSTR(string,a[,b])
功能: 返回从a位置开始的b个字符长的string的一个子字符串. 第一个字符的位置是1.&如果a是0,那么它就被认为从第一个字符开始.如果是正数,返回字符是从左边向右边进行计算的.如果b是负数,那么返回的字符是从string的末尾开始从右向左进行计算的.如果b不存在,那么它将缺省的设置为整个字符串.如果b小于1,那么将返回NULL.如果a或b使用了浮点数,那么该数值将在处理进行以前首先被却为一个整数.
使用位置:过程性语句和SQL语句。
语法: TRANSLATE(string,from_str,to_str)
功能: 返回将所出现的from_str 中的每个字符替换为to_str中的相应字符以后的string. TRANSLATE是REPLACE所提供的功能的一个超集.如果from_str比to_str长,那么在from_str中而不在to_str中而外的字符将从string中被删除,因为它们没有相应的替换字符. to_str不能为空.Oracle把空字符串认为是NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL.
使用位置:过程性语句和SQL语句。
语法: UPPER(string)
功能: 返回大写的string.不是字母的字符不变.如果string是CHAR数据类型的,那么结果也是CHAR类型的.如果string是VARCHAR2类型的,那么结果也是VARCHAR2类型的.
使用位置: 过程性语句和SQL语句。
F.2 字符函数&&返回数字
这些函数接受字符参数回数字结果.参数可以是CHAR或者是VARCHAR2类型的.尽管实际下许多结果都是整数值,但是返回结果都是简单的NUMBER类型的,没有定义任何的精度或刻度范围.
语法: ASCII(string)
功能: 数据库字符集返回string的第一个字节的十进制表示.请注意该函数仍然称作为ASCII.尽管许多字符集不是7位ASCII.CHR和ASCII是互为相反的函数.CHR得到给定字符编码的响应字符. ASCII得到给定字符的字符编码.
使用位置: 过程性语句和SQL语句。
语法: INSTR(string1, string2[a,b])
功能: 得到在string1中包含string2的位置. string1时从左边开始检查的,开始的位置为a,如果a是一个负数,那么string1是从右边开始进行扫描的.第b次出现的位置将被返回. a和b都缺省设置为1,这将会返回在string1中第一次出现string2的位置.如果string2在a和b的规定下没有找到,那么返回0.位置的计算是相对于string1的开始位置的,不管a和b的取值是多少.
使用位置: 过程性语句和SQL语句。
语法: INSTRB(string1, string2[a,[b]])
功能: 和INSTR相同,只是操作的对参数字符使用的位置的是字节.
使用位置: 过程性语句和SQL语句。
语法: LENGTH(string)
功能: 返回string的字节单位的长度.CHAR数值是填充空格类型的,如果string由数据类型CHAR,它的结尾的空格都被计算到字符串长度中间.如果string是NULL,返回结果是NULL,而不是0.
使用位置: 过程性语句和SQL语句。
语法: LENGTHB(string)
功能: 返回以字节为单位的string的长度.对于单字节字符集LENGTHB和LENGTH是一样的.
使用位置: 过程性语句和SQL语句。
语法: NLSSORT(string[,nlsparams])
功能: 得到用于排序string的字符串字节.所有的数值都被转换为字节字符串,这样在不同数据库之间就保持了一致性. Nlsparams的作用和NLS_INITCAP中的相同.如果忽略参数,会话使用缺省排序.
使用位置: 过程性语句和SQL语句。
阅读(...) 评论()他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 pl sql中变量 引用 的文章

 

随机推荐