PL/SQL 知识量:16 - 57 - 244
在Oracle中,所谓的单行函数就是返回单一的结果行,查询对象可以是表或视图等,它们可以用在查询列表中、WHERE子句中或者HAVING子句中。这些单行函数非常丰富,主要包括对数值、字符、日期以及NULL字段的处理。
利用LENGTH函数可以得到指定字符串的长度,它返回数字类型,包含1个字符类型的参数。语法结构如下:
LENGTH(char)
该函数会把空格也算作数据的长度,所以在使用该函数时,尽量把数据的前后空格都去掉再使用,以防造成不必要的麻烦。
利用TRIM函数将去除字符串中指定的前缀或尾随的字符,默认删除空格。其语法结构如下:
TRIM( [LEADING|TRAILING|BOTH] [trim_character FROM] trim_source)
简要说明:
LEADING:删除trim_source的前缀字符。
TRAILING:删除trim_source的后缀字符。
BOTH:删除trim_source的前缀和后缀字符。
trim_character:删除指定字符,默认删除空格。
trim_source:被操作的字符串。
使用SUBSTR函数可以对提供的参数进行截取,返回截取后的字符串。其语法结构如下:
{[SUBSTR]| [SUBSTRB]| [SUBSTRC]| [SUBSTR2]| [SUBSTR4]}(char,position[,substring_length])
简要说明:
SUBSTR:按字符截取,表示以字符为单位。
SUBSTRB:按字节截取,表示以字节为单位。
SUBSTRC:表示以Unicode字符为单位。
SUBSTR2:表示以UCS2代码点为单位。
SUBSTR4:表示以UCS4代码点为单位。
char:参数,为原始字符串。
position:要截取字符串的开始位置。初始值为1,如果该值为负数,则表示从char的右边算起。
substring_length:截取的长度。
SUBSTR函数并不能改变原数据的长短,而是对原数据进行操作后返回操作结果,通常可以把该结果赋值给其他变量。
示例:
SQL> select name from people where id=4; NAME ---------- Susan SQL> select substr(name,1,3) from people where id=4; SUBSTR(NAME,1,3) ---------------- Sus
字符串连接函数CONCAT的功能和截取函数相反,它能把提供的两个参数连接起来,并返回连接后的字符串。其语法结构如下:
CONCAT(char1,char2)
该函数可以针对具体的字符串操作,也可以针对某列操作,具体的字符串和数据列进行连接也是被允许的。
要想进行连接操作,也可以利用连接符“||”来实现。该操作同样不会改变原始数据,只是返回操作后的字符串。
示例:
SQL> select name,age from people; NAME AGE ---------- ---- Bob 25 Jeff 27 Jan 32 Susan 19 Tom 29 Lucy 29 Tomas 32 7 rows selected SQL> select concat(name,age) from people; CONCAT(NAME,AGE) -------------------------------------------------- Bob25 Jeff27 Jan32 Susan19 Tom29 Lucy29 Tomas32 7 rows selected
利用UPPER函数可以将参数中的小写字母全部转成大写字母,参数可以是字符或字符串,返回转换后的字符串。语法结构如下:
UPPER(char)
示例:
SQL> select name from people where id=4; NAME ---------- Susan SQL> select upper(name) from people where id=4; UPPER(NAME) ----------- SUSAN
LOWER函数的功能与UPPER函数相反,它可以把参数中的大写字母全部转成小写字母输出。语法结构如下:
LOWER (char)
示例:
SQL> select name from people where id=4; NAME ---------- Susan SQL> select lower(name) from people where id=4; LOWER(NAME) ----------- susan
字符串函数INITCAP的作用是将字符串中每个单词的首字母大写,其他字母小写。单词由空格、标点符号限制。
示例:
SQL> select * from books; ID NAME PRICE --- ---------- ------ 1 SQL 50 2 MySQL 32 3 CSS 50 4 Java 5 JavaScript 6 Python 32 6 rows selected SQL> select id,initcap(name),price from books; ID INITCAP(NAME) PRICE --- ------------- ------ 1 Sql 50 2 Mysql 32 3 Css 50 4 Java 5 Javascript 6 Python 32 6 rows selected
利用INSTR函数可以在一个字符串中检索另一个给定字符串出现的位置,也可以作为判定原字符串是否包含指定字符串的标准,返回结果是一个整数。其语法结构如下:
{[INSTR]| [INSTRB]| [INSTRC]| [INSTR2]| [INSTR4]}(string,substring[,position[,occurrence]])
简要说明:
INSTR:表示检索某字符串在另一个字符串中出现的位置,以字符为单位。
INSTRB:表示作用在字符串中的字节数据,它返回的是字节的位置,而不是字符的位置,也就是说,它是以字节为单位的。
INSTRC:表示以Unicode字符为单位。
INSTR2:表示以UCS2代码点为单位。
INSTR4:表示以UCS4代码点为单位。
string:被检索的字符串。
substring:检索字符串。
position:检索的开始位置,默认值为1,表示从字符串左边开始检索;如果值为负数,则表示从字符串的右边位置开始检索。
occurrence:substring第几次出现,默认值是1。
示例:
SQL> select name from people where id=4; NAME ---------- Susan SQL> select instr(name,'a') from people where id=4; INSTR(NAME,'A') --------------- 4
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6