(六)PL/SQL字符串

PL/SQL字符串实际上是一个可选的尺寸规格字符序列。字符可以是数字,字母,空白,特殊字符或全部的组合。 PL/SQL提供了三种类型的字符串:
   固定长度字符串:在这样的字符串,程序员指定的长度,同时声明该字符串。该字符串是右填充空格以达到指定的长度。
   变长字符串:在这样的字符串,最大长度可达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转换为大写字母,并返回该字符串
时间: 2024-12-23 13:15:17

(六)PL/SQL字符串的相关文章

ORACLE PL/SQL 字符串函数、数学函数、日期函数

ORACLE PL/SQL 字符串函数.数学函数.日期函数 --[字符串函数] --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符串从前面取三个(0开始) select Name,substr(Name,0,3) from t1; --字符串从后面取三个 select Name,substr(Name,-3

(十六)PL/SQL日期及时间

PL/SQL提供两个日期和时间相关的数据类型: 1.日期时间(Datetime)数据类型 DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE 2.间隔数据类型 INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND   一.日期时间字段值和间隔数据类型这两个日期时间和间隔数据类型包括字段.这些字段的值确定的数据类型的值.下表列出了时间和间隔的字段及其可能的值. 字段名称

【Oracle连接字符串】【Oracle Net Manager 服务命名配置】【PL/SQL 登陆数据库】

连接数据库的几个重要参数: 1. 登陆用户名:user: 2. 登录密码:password: 3. 存放数据库的服务器地址(server_ip)和端口(server_port): 4. 数据库名(db_name): 一.Oracle连接字符串 我们如果要连接db_name这个数据,除了用户名密码以外,还需要输入类似“server_ip:server_port/db_name”这样一个连接字符串. <add key="ConnectionString" value="Da

二十六、oracle pl/sql 分页

一.无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程. 案例:现有一张表book,表结构如下:书号.书名.出版社. CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing VARCHAR2(30)); 请写一个过程,可以向book表添加书,要求通过java程序调用该过程. --注意:in->表示这是一

ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法

1.今天写的存储过程在执行过程中,报如下错误. exec PRO_T_008pro_update_add_delete(17,1,1,1,1,45.0,54.0,45.0,45.0,45.0,54.0,45.0,54.0,'生产厂家','CYB10-2',54.0,45.0,25.0,1.0,45.0,25.0,1.0,45.0,25.0,1.0,45.0,1,4545.0,0,0,0,'no'); begin PRO_T_008pro_update_add_delete(17,1,1,1,1,

PL/SQL连接时,报无法解析指定的字符串

前言: 工作原因,需要安装PL/SQL连接数据,oracle和PL/SQL都装好了,环境变量也配好了,启动PL/SQL进行连接数据库,结果报“无法解析指定的字符串”,连接失败了. 解决方法: 1.这个问题的主要原因是tnsnames.ora没有配置好导致,将里面的配置信息改成工作中需要的即可 2.检查oracle的服务有没有启动,计算机>管理>服务>查找有没有oracle的服务(如果没有,可能要再装oracle) 笔者的tnsnames.ora文件配置没问题,中途有重启了电脑,打开服务时

Oracle(六)PL/SQL、循环和游标

-- View:视图(虚表),不占用物理空间! --  如果没有权限 -- 使用dba登录  grant  create any  view to 用户名; create or replace  view  teacher_viewas select tname,sal from teacher --  查询视图select * from teacher_view ************=======PL/SQL=======************* --PL/SQL (Procedural

PL/SQL教程(转)

课程 一 PL/SQL 基本查询与排序 本课重点:   1.写SELECT语句进行数据库查询   2.进行数学运算   3.处理空值   4.使用别名ALIASES   5.连接列   6.在SQL PLUS中编辑缓冲,修改SQL SCRIPTS   7.ORDER BY进行排序输出.   8.使用WHERE 字段. 一.写SQL 命令:     不区分大小写.     SQL 语句用数字分行,在SQL PLUS中被称为缓冲区.     最后以:或 / 结束语句.     也可以用RUN来执行语

oracle pl/sql 基础

一.pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品. 二.pl/sql介绍开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则.pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块.比如:分页存储过程模块.订单处理存储过程模块.转账存储过程模块.而且如果使用pl/sql编程,我们可以轻松地完成非