PL/SQL 学习

来源:互联网 发布:淘宝店铺名字鞋 编辑:程序博客网 时间:2024/06/18 02:03


1、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的取值。
}

2、LPAD(列名,数字,‘要补上的字符’)左补位

   RPAD(列名,数字,‘要补上的字符’)右补位

3、TRIM(‘child_str’ FROM ‘parents_str’)将连续子串(只能有一个字符)从主串的两边截取出来,区分大小写。
默认为截取空格。

LTRIM()左截取

RTRIM()右截取

4、ascii(x)函数,返回'X'字符的十进制数,即X的ASCII码值。

5、chr(x)函数,返回ASCII码为X的字符。

6、length(x)函数,求串X的长度,与之相似的是lengthb(x)函数,用在多字节字符中。

7、replace(x,y[,z])函数,返回值为将串X中的Y串用Z串替换后的结果字符串。若省略Z参数,则将串X中为Y串的地方删除。

8、soundex(x)函数,返回串X的语音描述,这个描述由4个字符组成,说明串X的声音表示形式发音,有时在只知道一个名字的发音而不知道拼写情况下或许能用到。
例:select soundex('smith') from dual; 返回值为:S530.
 
9、translate(x,y,z)函数,返回将X串中每个字符按它在Y串中出现的位置翻译成Z串中相应位置的字符后的结果,相当与替换。
例:select translate('this is an example','my is','@#$%^&') from dual;


10、NLS函数
   除了NCHR,这些函数都是以字符类型为参数返回字符类型值。

11、CONVERT(string,dest_charset[,source_charset])

    将输入string转换为指定字符集dest_charset。source_charset是输入值的字符集——如果它没有被指定,则缺省为数据库字符集。输入值可以是CHAR、VARCHAR2、NCHAR、

NVARCHAR2、CLOB和NCLOB类型。返回值为VARCHAR2类型。如果dest_charset中没有输入字符串中的一个字符,将会使用一个代替字符(由dest_charset定义)

12、NCHR(X)

    返回数据库国家字符集中值为X的字符。NCHR(X) 等价于CHR(x USING NCHAR_CS).

13、NLS_CHARSET_DECL_LEN(byte_width,charset)

   返回一个NCHAR值的声明宽度(以字符为单位).byte_width是该值以字节为单位的长度charset是该值的字符集ID。

14、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是互为反函数。

15、NLS_CHARSET_NAME([charset_id])

    返回指定字符集ID charset_id 的名字。如果 charset_id 是一个无效字符集ID,将返回NULL;

16、NLS_INITCAP(string[,nlsparams])

    以字符串中每个单词第一个字符大写而单词中其余字母小写的形式返回string.nlsparams指定了一个与该会话缺省的不同的排序次序。如果没有指定该参数,NLS_INITCAP与

INITCAP相同。

nlsparams应该采取下面的形式:
'
NLS_SORT=sort',其中sort是一个语言排序序列。

17、NLS_UPPER(string[,nlsparams])

以大写形式返回string,不是字母的字符不受影响。如果没有指定nlsparams,NLS_UPPER与UPPER相同。

18、NLS_LOWER

以小写形式返回string,不是字母的字符不受影响,如果没有指定nlsparams,NLS_LOWER与LOWER相同。

19、NLSSORT(string[,nlsparams])

    返回用于排序string的字符串字节。所有值都被转换为字节字符串,这样在不同数据库之间就保持了一致性。
如果没有指定nlsparams,那么就会使用会话中缺省排序序列。

20、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

21、UNSTR(s)

返回转换为数据库UNICODE字符集的字符串。s可包含escaped UCS2 代码点字符。它由一个反斜线符号加上十六进制代码点数字组成。因此,要在字符串中包含一个反斜线符号就必

须使用双反斜线符号(//).UNISTR与
TRANSLATE...USING相似,差别是它仅能转换为UNICODE,而且可以包含escaped 字符。


22、general
//number
//conversion
//date

多行函数:对多行数据(一组数据)进行计算并返回一个值的函数。

原创粉丝点击