按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
z SUBSTR4(string;a';b')返回 string的一部分,a和 b 是以UCS4 代码点为单位。
以上函数都是返回 string 的一部分,从字符位置 A 开始,长为 B 个字符。如果 A 是0,那它就
被认为是 1 (字符串的开始位置)。如果 A 是正数,那么字符从左边开始数。如果是负数,则从 STRING
的末尾开始,从右边数。如果 B 不存在,那么缺省是整个字符串。如果 B 小于 1,将返回 NULL。如
果 A 或B 使用了浮点数,那么该数值首先被节取成一个整数,返回类型与 STRING相同。
z LENGTH(string)
z LENGTHB(string)
z LENGTHC(string)
z LENGTH2(string)
第 12 页,共 106 页
…………………………………………………………Page 13……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
z LENGTH4(string)
以上函数返回 string 的长度。因为 CHAR 类型的值是填充空格的,所以如果 string 是 CHAR 数
据类型,那么末尾的空格算在长度之内。如果 string 是NULL,函数返回NULL。
z INSTR(string1;string2';a'';b') 返回string1中包含string2的位置。a和b以字符为单位。
z INSTRB(string1;string2';a'';b') 返回 string1 中包含 string2 的位置。a 和 b 是以字节为
单位。
z INSTRC(string1;string2';a'';b')返回 string1 中包含 string2 的位置。a 和 b 是以 UNICODE
完全字符为单位。
z INSTR2(string1;string2';a'';b') 返回 string1 中包含string2 的位置。a 和b 是以 UCS2 代
码点为单位
z 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 的取值。
z LPAD(列名;数字;‘要补上的字符’)左补位
z RPAD(列名,数字,‘要补上的字符’)右补位
z TRIM(‘child_str’ FROM ‘parents_str’)将连续子串(只能有一个字符)从主串的两边截
取出来,区分大小写。默认为截取空格。
z LTRIM左截取
z RTRIM右截取
z ascii(x)函数,返回'X'字符的十进制数,即 X的 ASCII 码值。
z chr(x)函数,返回 ASCII 码为X 的字符。
z length(x)函数,求串 X的长度,与之相似的是 lengthb(x)函数,用在多字节字符中。
z replace(x;y';z')函数,返回值为将串 X 中的Y串用 Z 串替换后的结果字符串。若省略 Z 参数,
则将串 X 中为 Y 串的地方删除。
z soundex(x)函数,返回串 X 的语音描述,这个描述由 4 个字符组成,说明串 X 的声音表示形式
发音,有时在只知道一个名字的发音而不知道拼写情况下或许能用到。
例:select soundex ('smith') from dual; 返回值为:S530。
z translate(x;y;z)函数,返回将 X 串中每个字符按它在 Y 串中出现的位置翻译成 Z 串中相应位
置的字符后的结果,相当与替换。
例:select translate('this is an example';'my is';'@#%^&') from dual;
z NLS 函数
除了 NCHR,这些函数都是以字符类型为参数返回字符类型值。
z CONVERT(string;dest_charset';source_charset')
将输入 string 转换为指定字符集 dest_charset。source_charset 是输入值的字符集——如果
它没有被指定,则缺省为数据库字符集。输入值可以是 CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB
和 NCLOB 类型。返回值为 VARCHAR2 类型。如果 dest_charset 中没有输入字符串中的一个字符,将
会使用一个代替字符(由 dest_charset 定义)
z NCHR(X)
返回数据库国家字符集中值为 X 的字符。NCHR(X) 等价于 CHR(x USING NCHAR_CS)。
z NLS_CHARSET_DECL_LEN(byte_width;charset)
返回一个 NCHAR 值的声明宽度(以字符为单位)。byte_width 是该值以字节为单位的长度 charset 是
该值的字符集 ID。
第 13 页,共 106 页
…………………………………………………………Page 14……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
z 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 是互为反函数。
z NLS_CHARSET_NAME('charset_id')
返回指定字符集 ID charset_id 的名字。如果 charset_id 是一个无效字符集 ID,将返回 NULL;
z NLS_INITCAP(string';nlsparams')
以字符串中每个单词第一个字符大写而单词中其余字母小写的形式返回 string。nlsparams 指定了
一个与该会话缺省的不同的排序次序。如果没有指定该参数,NLS_INITCAP 与 INITCAP 相同。
nlsparams 应该采取下面的形式:
'NLS_SORT=sort';其中 sort 是一个语言排序序列。
z NLS_UPPER(string';nlsparams')
以大写形式返回 string;不是字母的字符不受影响。如果没有指定 nlsparams;NLS_UPPER 与 UPPER
相同。
z NLS_LOWER
以小写形式返回 string;不是字母的字符不受影响,如果没有指定 nlsparams,NLS_LOWER 与 LOWER
相同。
z NLSSORT(string';nlsparams')
返回用于排序 string 的字符串字节。所有值都被转换为字节字符串,这样在不同数据库之间就保持
了一致性。
如果没有指定 nlsparams;那么就会使用会话中缺省排序序列。
z TRANSLATE(string USING {CHAR_CSINCHAR_CS})
TRANSLATE。。。USING 将输入 string 参数转换为数据库字符集(指定 CHAR_CS)或数据库国家字符集
(指定 NCHAR_CS)。string 可以是CHAR、VARCHAR2、NCHAR、NVARCHAR2 类型。如果指定 CHAR_CS,
返回类型为 VARCHAR2,如果指定 NCHAR_CS;返回类型为 NVARCHAR2。TRANSLATE。。。USING是 CONVERT
功能的子集。
如果输入值包含 UCS2 字符或反斜线符号要使用 UNSTR 函数。
例:
SQL》 select translate('asd' using NCHAR_CS) from dual;……数据库国家字符集
TRANSL
……………
asd
SQL》 select translate('asd' using CHAR_CS) from dual;……数据库字符集
TRA
……
asd
z UNSTR(s)
返回转换为数据库 UNICODE 字符集的字符串。s 可包含 escaped UCS2 代码点字符。它由一个反斜线
符号加上十六进制代码点数字组成。因此,要在字符串中包含一个反斜线符号就必须使用双反斜线
符号()。
UNISTR与 TRANSLATE。。。USING 相似,差别是它仅能转换为 UNICODE,而且可以包含 escaped 字符。
general
//number
//conversion
//date
第 14 页,共 106 页
…………………………………………………………Page 15……………………………………………………………
资源来自网络,仅供学习!