日期:2014-05-16  浏览次数:20495 次

DB2字符函数简介及使用
1、ASCII(s):取表达式s最左端一个字符的ascii码。
参数:任意内置字符类型,
返回值:integer类型。
db2 => values (ascii('A'),ascii('Abc'),ascii('1'),ascii('@'),ascii(null))
1           2           3           4           5
----------- ----------- ----------- ----------- -----------
         65          65          49          64           -
  1 条记录已选择。

2、chr(n):取ascii码n所代表的字符
参数:integer或者smallint类型,范围0-255
返回值:1个长度的字符。
db2 => values (chr(65),chr(49),chr(64),chr(35))
1 2 3 4
- - - -
A 1 @ #
  1 条记录已选择。

3、character_length(string,param2)(或者char_length(s,p))取字符串的长度
参数:string为任意字符串,或者graphic类型的字符串。
      param2可以是codeunits16 — 16位的UTF-16编码,即string被表示为16位的UTF-16编码的字符串。
                  codeunits32 — 32位的UTF-32编码,即string被表示为32位的UTF-32编码的字符串。
                  octets — 认为是字节字符串。
返回值:返回string的存储的字符的实际长度。

db2 => select char_length(firstnme,octets),length(trim(firstnme)),firstnme from employee fetch first 5 rows only


1           2           FIRSTNME
----------- ----------- ------------
          9           9 CHRISTINE
          7           7 MICHAEL
          5           5 SALLY
          4           4 JOHN
          6           6 IRVING
  5 条记录已选择。

相关函数:length(str),返回str的长度。

4、concat(str1,str2):连接字符串
参数:参数1和参数2可以是字符类型,数值类型,或者时间日期类型的数据。但是他们之间存在着兼容性,如下:
      4.1 二进制字符串只能与二进制字符串连接
      4.2 只有unicode编码的数据库才支持character字符串和graphic字符串相连,
          在连接之前,character字符串会被转换为graphic字符串。
          需要注意的是,被定义为FOR BIT DATA的character字符串是不能转换为graphic字符型的。
      4.3 若参数不是字符串,那么在连接的过程中,将会被隐式的转换为字符串。
返回值:结果的长度和类型取决于在进行任何相互兼容的转换之后的类型和长度。
db2 => values (concat(sysdate,current time),concat(1,2)+10,concat(1,'q'),concat('chen_','CSDN'))

1                           2                                          3  4
--------------------------- ------------------------------------------ -- ---------
2013-03-22-22.22.4422:22:44                                         22 1q chen_CSDN
  1 条记录已选择。

字符串连接还可以使用符号||:
db2 => values (current date||' '||current time)

1
-------------------
2013-03-23 06:56:57
  1 条记录已选择。

5、lower(s):将字符转换为小写
参数:参数必须是char或者varchar类型。
      unicode编码的数据库中,支持graphic字符串,在改变为小写之前先转换为character字符串。
      当参数为null的时候,返回值也为null。
返回值:字符或者字符串的小写形式,结果的类型与长度保持不变。

db2 => values (lower('U'),lower(null))

1 2
- -------------------------------------
u -
  1 条记录已选择。
lcase():作用于lower()函数一样。
lower(locale sensitive)
lower(sysfun schema)


7、upper(s):将字符转换为大写
参数:char或者varchar字符型。
返回值:字符或者字符串的大写形