PL/SQL 字符串类型

字符串是PL/SQL中常用的数据类型,字符串在PL/SQL中共有三类:

  • 定长字符串:字符串右边用空格填充直到指定长度为止。CHAR,NCHAR属于这类
  • 变长字符串():指定字符串的最大长度(小于32767),可以存储小于指定长度的字符串,不会有空格填充发生。VARCHAR2, NVARCHAR2属于这类
  • 字符大对象:能够存储高达128TB大小的内容的可变字符串类型。 CLOB, 和NCLOB属于这类

以N开头的类型是“national character set”国家字符集数据类型,可以存储Unicode。

#字符串字面量
用单引号'包围的的内容为字符串字面量

'This is a string literal'

如果需要表达单引号本身,则可以连续写两个单引号''

'This isn''t a date'

也可以采用以下形式:

q'[This isn't a date]'

#声明字符串变量
根据需要可以声明不同类型,不同(最大)长度的字符串变量

  variable1 CHAR(1) := 'Y';
  variable2 VARCHAR2(100) := 'Hello World!';
  variable3 CLOB;

CHAR类型可以省略括号里的最大长度声明,此时默认为长度1;VARCHAR2 类型必须要指定最大长度,否则无法通过编译;CLOB不需要指定最大长度,长度有数据库自己确定。

#字符串连接
PL/SQL有两种方式可以连接字符串

  • 内建函数CONCAT
  • 字符串连接操作符||
CONCAT('Hello ', 'World!');
'Hello ' || 'World!';

CONCAT||的任意一个字符串为NULL或空字符串 ''时,连接操作返回另一个非NULL非空的字符串,如果两个字符串都为NULL或空字符串 '',连接操作返回NULL

发布了106 篇原创文章 · 获赞 15 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/skyupward/article/details/55050872