oracle总结(二)--单行函数

来源:互联网 发布:源码交易平台源码 编辑:程序博客网 时间:2024/05/21 11:11

单行函数:对单行数据进行计算并返回一个值的函数。 
修改数据项 
接受参数返回一个值。 
对每行进行操作。 
每行返回一个结果。 
可以修改数据类型 
可以嵌套


character 字符类型函数

  LOWER()强制小写 
  UPPER()强制大写 
  INITCAP()每个单词首字母大写,可以用在 WHERE 子句中。 
  CONCAT(‘’,‘’)连接函数
  
  SUBSTR(string,a[,b])返回 string 的一部分,a 和 b 以字符为单位。 
  SUBSTRB(string,a[,b])返回 string 的一部分,a 和 b 是以字节为单位。 
  SUBSTRC(string,a[,b])返回 string 的一部分,a 和 b 是以 UNICODE 完全字符为单位。 
  SUBSTR2(string,a[,b])返回 string 的一部分,a 和 b 是以 UCS2 代码点为单位。 
  SUBSTR4(string,a[,b])返回 string 的一部分,a 和 b 是以 UCS4 代码点为单位。 
以上函数都是返回 string 的一部分,从字符位置 A 开始,长为 B 个字符。如果 A 是 0,那它就
被认为是 1(字符串的开始位置)。如果 A 是正数,那么字符从左边开始数。如果是负数,则从 STRING
的末尾开始,从右边数。如果 B 不存在,那么缺省是整个字符串。如果 B 小于 1,将返回 NULL。如
果 A 或 B 使用了浮点数,那么该数值首先被节取成一个整数,返回类型与 STRING 相同。

  LENGTH(string) 
  LENGTHB(string) 
  LENGTHC(string) 
  LENGTH2(string) 
  LENGTH4(string) 
以上函数返回 string 的长度。因为 CHAR 类型的值是填充空格的,所以如果 string 是 CHAR 数
据类型,那么末尾的空格算在长度之内。如果 string 是 NULL,函数返回 NULL。

  INSTR(string1,string2[,a][,b]) 返回 string1 中包含 string2 的位置。 a 和 b 以字符为单位。
  INSTRB(string1,string2[,a][,b]) 返回 string1中包含 string2 的位置。a 和 b 是以字节为单位.
  INSTRC(string1,string2[,a][,b])返回 string1 中包含 string2 的位置。a 和 b 是以 UNICODE完全字符为单位。 
  INSTR2(string1,string2[,a][,b]) 返回 string1 中包含 string2 的位置。a 和 b 是以 UCS2代码点为单位
  INSTR4(string1,string2[,a][,b]) 返回 string1 中包含 string2 的位置 a 和 b 是以 UCS4代码点为单位.
以上函数返回 string1 中包含 string2 的位置。从左边开始扫描 string1,起始位置是 A。如果
A 为负数那么从右边开始扫描。第 B 次出现的位置将被返回。A 和 B 缺省都为 1,即返回在 string1
中第一次出现 string2 的位置。如果 string2 在 A 和 B 的规定下没有找到那么就返回 0。位置的计
算是相对于 string1 的开始位置的,而不关 A 和 B 的取值。

  LPAD(列名,数字,‘要补上的字符’)左补位 
  RPAD(列名,数字,‘要补上的字符’)右补位 
  TRIM(‘child_str’ FROM ‘parents_str’)将连续子串(只能有一个字符)从主串的两边截取出来,区分大小写。默认为截取空格。 
  LTRIM()左截取 
  RTRIM()右截取
ltrim(x,y) 函数是按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的,只要遇到y中有的字符, x中的字符都会被截掉, 直到在x的字符中遇到y中没有的字符为止函数命令才结束.(ririm同理)

  ascii(x)函数,返回'X'字符的十进制数,即 X 的 ASCII 码值。
  chr(x)函数,返回 ASCII 码为 X 的字符。 
  length(x)函数,求串 X 的长度,与之相似的是 lengthb(x)函数,用在多字节字符中。
  replace(x,y[,z])函数,返回值为将串 X 中的 Y 串用 Z 串替换后的结果字符串。若省略 Z 参数,则将串 X 中为 Y 串的地方删除。
  soundex(x)函数,返回串 X 的语音描述,这个描述由 4 个字符组成,说明串 X 的声音表示形式发音,有时在只知道一个名字的发音而不知道拼写情况下或许能用到。
例:select soundex('smith') from dual; 返回值为:S530.
  translate(x,y,z)函数,返回将 X 串中每个字符按它在 Y 串中出现的位置翻译成 Z 串中相应位置的字符后的结果,相当与替换。

例:select translate('this is an example','my is','@#$%^&') from dual;

  CONVERT(string,dest_charset[,source_charset]) 
将输入 string 转换为指定字符集 dest_charset。source_charset 是输入值的字符集——如果
它没有被指定,则缺省为数据库字符集。输入值可以是 CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB
和 NCLOB 类型。返回值为 VARCHAR2类型。如果 dest_charset 中没有输入字符串中的一个字符,将
会使用一个代替字符(由 dest_charset 定义) 
  NCHR(X)
返回数据库国家字符集中值为 X 的字符。NCHR(X) 等价于 CHR(xUSING NCHAR_CS). 单行函数
  NLS_CHARSET_DECL_LEN(byte_width,charset) 
返回一个 NCHAR 值的声明宽度(以字符为单位).byte_width 是该值以字节为单位的长度 charset 是该值的字符集 ID。 
  NLS_CHARSET_ID(charset_name) 
返回指定字符集 charset_name 的数字 ID。为 charset_name 指定“CHAR_CS”将返回数据库字符集的 ID,为 charset_name 指定“NCHAR_CS”将返回数据库国家字符集的 ID。如果 charset_name 是一个无效字符集名,将返回NULL。NLS_CHARSET_ID和 NLS_CHARSET_NAME 是互为反函数。 
  NLS_CHARSET_NAME([charset_id]) 
返回指定字符集 ID charset_id 的名字。如果 charset_id 是一个无效字符集 ID,将返回 NULL; 
  NLS_INITCAP(string[,nlsparams]) 
以字符串中每个单词第一个字符大写而单词中其余字母小写的形式返回 string.nlsparams 指定了一个与该会话缺省的不同的排序次序。如果没有指定该参数,NLS_INITCAP 与 INITCAP 相同。nlsparams 应该采取下面的形式:'NLS_SORT=sort',其中 sort 是一个语言排序序列。 
  NLS_UPPER(string[,nlsparams]) 
以大写形式返回 string,不是字母的字符不受影响。如果没有指定 nlsparams,NLS_UPPER 与 UPPER相同。 
  NLS_LOWER 
以小写形式返回 string,不是字母的字符不受影响,如果没有指定 nlsparams,NLS_LOWER 与 LOWER相同。 
  NLSSORT(string[,nlsparams]) 
返回用于排序 string 的字符串字节。所有值都被转换为字节字符串,这样在不同数据库之间就保持了一致性。如果没有指定 nlsparams,那么就会使用会话中缺省排序序列。 
  UNSTR(s) 
返回转换为数据库 UNICODE 字符集的字符串。s 可包含 escaped UCS2 代码点字符。它由一个反斜线符号加上十六进制代码点数字组成。因此,要在字符串中包含一个反斜线符号就必须使用双反斜线符号(\\). 
0 0