字符串函数
1 利用 SUBSTRING 析取字符串.
2 利用串联符号"||"合并字符串。
3 利用 INDEX定位字符串的开始位置.
SUBSTRING函数
SUBSTRING函数用来从字符串中析取一个子字符串,其格式为: SUBSTRING (<字符串表达式> FROM <开始位置> [ FOR <长度> ]);
SELECT SUBSTRING('catalog' FROM 5 FOR 3); 结果为log。
下面通过一些例子说明了SUBSTRING的使用方法:
SUBSTRING 结果 SUBSTRING('catalog' FROM 5 FOR 4) log SUBSTRING('catalog' FROM 0 FOR 3) ca SUBSTRING('catalog' FROM -1 FOR 3) c SUBSTRING('catalog' FROM 8 FOR 3) 长度为0的字符串 SUBSTRING('catalog' FROM 1 FOR 0) 长度为0的字符串 SUBSTRING('catalog' FROM 5 FOR -2) error SUBSTRING('catalog' FROM 0) catalog SUBSTRING('catalog' FROM 10) 长度为0的字符串 SUBSTRING('catalog' FROM -1) catalog SUBSTRING('catalog' FROM 3) talog 当SUBSTRING函数作用于整型数据类型时,SUBSTRING函数先将整型函数转化为字符串。对于不同的整型数据类型,它们的长度是不一样的,归纳为:
1 BYTEINT 加上符号后4个字符长
2 SMALLINT 加上符号后6个字符长
3 INTEGER 加上符号后11个字符长
当整型数转换为字符类型时,数字向右对齐,不足位补零,最前面为符号
字符串合并
字符串合并的符号是"||",它把两个字符串串联成一个字符串。其基本格式为:<字符串1> || <字符串2>
INDEX (字符串定位函数)
INDEX用来在一个字符串中定位一个子串的开始位置。如下面的例子:
SELECT INDEX('abc', 'b'); 返回结果2SELECT INDEX('abc', 'ab'); 返回结果1
SELECT INDEX('abc', 'd'); 返回结果0
同时使用SUBSTRING和INDEX的例子:
利用CONTACT表显示表中每个人的first name和last name,使用SUBSTRING和INDEX函数的方法为:
SELECT
SUBSTRING (contact_name, FROM INDEX (contact_name,', ') +2)
|| ' ' || SUBSTRING (contact_name FROM 1
FOR INDEX (contact_name, ',') -1)
(TITLE 'Contact Names')
FROM contact;