问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PL/SQL截取字符串

发布网友 发布时间:2022-04-10 02:37

我来回答

3个回答

懂视网 时间:2022-04-10 06:58


   固定长度字符串:在这样的字符串,程序员指定的长度,同时声明该字符串。该字符串是右填充空格以达到指定的长度。
   变长字符串:在这样的字符串,最大长度可达32,767,为字符串指定,并不需要填充。
   字符大对象(CLOB) :这是可变长度的字符串,可以达到128兆兆字节。
 
PL/ SQL字符串可以是变量或字面值。字符串文字被引号围在内部。例如:‘This is a string literal. yiibai.com‘ Or ‘hello world‘
包括在字符串中单引号的文字,需要输入两个单引号彼此相邻,如:‘this isn‘‘t what it looks like‘

 

一、声明字符串变量
Oracle数据库提供了大量的字符串数据类型,如:CHAR,NCHAR,VARCHAR2,NVARCHAR2,CLOB和NCLOB。前面加上一个‘N‘的数据类型为“国家字符集”数据类型,即存储Unicode字符数据。
如果需要声明一个可变长度的字符串时,必须提供该字符串的最大长度。例如,VARCHAR2数据类型。下面的例子说明了声明和使用一些字符串变量:

DECLARE
 name varchar2(20);
 company varchar2(30);
 introduction clob;
 choice char(1);
BEGIN
 name := ‘John Smith‘;
 company := ‘Infotech‘;
 introduction := ‘ Hello! I‘‘m John Smith from Infotech.‘;
 choice := ‘y‘;
 IF choice = ‘y‘ THEN
 dbms_output.put_line(name);
 dbms_output.put_line(company);
 dbms_output.put_line(introduction);
 END IF;
END;

//当上述代码在SQL提示符执行时,它产生了以下结果:
John Smith
Infotech 
Hello! I‘m John Smith from Infotech.

PL/SQL procedure successfully completed

 

 


二、PL/SQL字符串函数和操作符
PL/ SQL提供了连接运算符(||)用于连接两个字符串。下表提供了用PL / SQL提供的字符串功能(函数):

 函数及用途
1          ASCII(x);           返回字符 x 的 ASCII 值
2 CHR(x);              返回字符 x 的 ASCII 值
3 CONCAT(x, y);           连接字符串x和y,并返回附加的字符串
4 INITCAP(x);          每个单词的首字母x中转换为大写,并返回该字符串
5 INSTR(x, find_string [, start] [, occurrence]);   搜索find_string在x中并返回它出现的位置
6 INSTRB(x);                 返回另一个字符串中字符串的位置,但返回以字节为单位的值
7 LENGTH(x);                返回x中的字符数
8 LENGTHB(x);               返回为单字节字符集的字节的字符串的长度
9 LOWER(x);                  在x转换为小写字母,并返回该字符串
10 LPAD(x, width [, pad_string]) ;     X用空格向左填充,把字符串的总长度达宽字符
11 LTRIM(x [, trim_string]);        从x的左修剪字符
12 NANVL(x, value);            如果x匹配NaN的特殊值(非数字)则返回其值,否则返回x
13 NLS_INITCAP(x);            相同INITCAP函数,但它可以使用不同的排序方法所指定NLSSORT
14 NLS_LOWER(x) ;            同样的,不同的是它可以使用不同的排序方法所指定NLSSORT LOWER函数
15 NLS_UPPER(x);             相同,不同之处在于它可以使用不同的排序方法所指定NLSSORT UPPER函数
16 NLSSORT(x);              改变排序的字符的方法。任何NLS函数之前必须指定该参数;否则,默认的排序被使用
17 NVL(x, value);             返回如果x为null返回null; 否则返回x
18 NVL2(x, value1, value2);       如果x不为null返回value1; 如果x为null,则返回value2
19 REPLACE(x, search_string, replace_string);      搜索x对于SEARCH_STRING并替换使用replace_string它
20 RPAD(x, width [, pad_string]);            填充x到右侧
21 RTRIM(x [, trim_string]);                从x右边修剪
22 SOUNDEX(x) ;                       返回包含x的拼音表示形式的字符串
23 SUBSTR(x, start [, length]);             返回x的一个子开始于由start指定的位置。可选长度为子字符串
24 SUBSTRB(x);    相同SUBSTR除外的参数均以字节代替字符的单字节字符的系统
25 TRIM([trim_char FROM) x);    从左侧和右侧修剪x字符
26 UPPER(x);    x转换为大写字母,并返回该字符串

 

(六)PL/SQL字符串

标签:字节   star   程序   iter   .com   包括   bst   字符集   特殊字符   

热心网友 时间:2022-04-10 04:06

Select substr('AB_CD_DE',instr('AB_CD_DE','_',-1)-length('AB_CD_DE')) From al;

热心网友 时间:2022-04-10 05:24

O(∩_∩)O哈哈~朋友、用Substring字符串截取就OK啦!!!如果还是不能解决问题的话、但愿可以直接联系!!!这样更快!!!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 如果公司借壳上市,那原公司会停盘吗,如果一直持有那个公司的股票呢... 基金投资风险如何避免? 和电器相关的词语 简述基金风险管理的基本步骤和内容? 什么是基金投资中的管理风险? 跟电有关的词语有哪些 关于形容电的四字成语,有关描写电的成语词语大全 形容电力的词语 有关电字的词语 跟电有关的词语 描写电的四字词语 有哪些容易写的关于电的词语? 关于电的四字词语有哪些? 描写电的词语? 跟“电”有关的词语有哪些? 形容“电”的词语有哪些? 描写“电”的四字词语 关于电的词语有哪些 女孩取名带土字旁的有那些 为女儿取个好听的名字,要带土字旁的 什么牌子的手持式条码扫描器比较耐用? 求有“梨”字的女生日文名... 怀孕45天 B超检查宫内宫外为什么都看不到孕囊? 如果拍自媒体的话是用什么软件好呢 怀孕45天,HCG值不升反降,宫内宫外均不见孕囊,怎么办? 怀孕46天没有腹痛没有出血,但宫内宫外都不见孕囊 宝宝知道 怀孕45天b超宫内宫外都看不到孕囊hcg405孕酮0,51,是流产还是宫外孕 梦见叔叔开饭店 周公解梦我有一个哥开饭店他叫我去他那里上班 - 信息提示 梦见别人开人肉饭店? 简述全混流反应器的特点 压面机怎么用?是不是揉面机揉完以后直接放压面机里面压,压完以后是直接包包子,还是要等一段时间才能包 管式反应器和釜式反应器的区别 全混流反应器与平推流反应器有什么区别 梦见开饭店,是我以前开的饭店,还是自己掌勺,晚餐刚开门客人就来了,都... 纯物质A气相进料(1+mol/liter)+进入一全混流反应器+(2+liters)+其反应为:+_百度问一问 梦见别人开饭店用俺以前的旧牌子? 间歇式,推流式,完全混流式反应器分别有哪些 全混流反应器与平推流反应器的区别 全混流反应釜进行串联有什么好处