本人的Blog更新:http://www.iwllsea.com/default.asp?cateID=9,涉及更多Netadvantage文章,希望对大家有所帮助。
本篇主要介绍Oracle自带的一些常用的Function,以及部门公用的Function,以便在从数据库里获取数据时获取所需的数据(格式及值),而不必在获取后对数据进行处理。
2、 Oracle
常用函数
2.1、String类:
ASCII
,
CHR
,
UPPER
,
LOWER
,
INITCAP
,
LTRIM
,
RTRIM
,
TRIM
,
LPAD
,
RPAD
,
REPLACE
,
CONTACT
,
SUBSTR
,
||
,
INSTR
,
LENGTH
ASCII(c1):c1是一字符串,返回与字符串第一个字符对应的十进制数(字符的ASCII码);他的逆函数是CHR()。
CHR(i):i是一个数字,给出整数,返回对应的字符;它的逆函数是ASCII()。
例子:
/* Formatted on 2007/05/09 10:33 (Formatter Plus v4.8.6) */
SELECT
ASCII
(
'
赵
'
),
CHR
(
54740
),
ASCII
(
'zhao'
),
ASCII
(
'z'
),
CHR
(
122
)
FROM
DUAL
|
![](https://p-blog.csdn.net/images/p_blog_csdn_net/WillSea/2046cf579aa742a7ae0bb41e1634e281.png)
UPPER(string):string是字符串,返回字符串对应的大写字符串
LOWER(string):string是字符串,返回字符串对应的大写字符串
INITCAP(c1): c1为字符串,函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号分隔。
例子:
/* Formatted on 2007/05/09 10:40 (Formatter Plus v4.8.6) */
SELECT
UPPER
(
'sd'
),
LOWER
(
'QSD'
),
INITCAP
(
'QASdfd'
),
UPPER
(
'Sd'
),
LOWER
(
'qSd'
),
INITCAP
(
'sfdfSDD'
)
FROM
DUAL
|
![](https://p-blog.csdn.net/images/p_blog_csdn_net/WillSea/a0bb6ccb850d4577b54b0cc62374c5d7.png)
LTRIM(c1,c2): c1,c2均为字符串,返回删除c1左边出现的字符串c2后的字符串
TRIM(c1,c2): c1,c2均为字符串,返回删除c1右边出现的字符串c2后的字符串
TRIM(c1):c1为字符串,返回去掉才左右两边的空格后的字符串
LPAD(c1,i,[c2]):c1,c2均为字符串,i为整数。在c1的左侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格。
RPAD(c1,i,[c2])
:c1,c2均为字符串,i为整数。在c1的右侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格。
例子:
SELECT
LTRIM
(
'ASDF'
,
'A'
)
LT
,
RTRIM
(
'ASDF'
,
'F'
)
RT
,
LTRIM
(
'ASDF'
,
'F'
)
LNT
,
RTRIM
(
'ASDF'
,
'A'
)
RNT
,
TRIM
(
'ASDF'
)
TN
,
TRIM
(
' ASDF'
)
TL
,
TRIM
(
' ASDF '
)
TA
,
LPAD
(
'ASDF'
,
7
,
'F'
)
LP
,
RPAD
(
'ASDF'
,
7
,
'F'
)
RP
,
LPAD
(
'ASDF'
,
3
,
'F'
)
LNP
,
RPAD
(
'ASDF'
,
3
,
'F'
)
RNP
,
LPAD
(
'ASDF'
,
7
)
LP
,
RPAD
(
'ASDF'
,
7
)
RP
FROM
DUAL
|
![](https://p-blog.csdn.net/images/p_blog_csdn_net/WillSea/7d9e5de08c0448988993a5ef075f29af.png)
SUBSTR(string,start,count):start,count均为整数。取子字符串,返回从start开始,取count个字符组成的字符
串。
REPLACE('string','s1','s2'):string 希望被替换的字符或变量,s1 被替换的字符串,s2 要替换的字符串,返回用s2替换出现在string中的s1后的字符串。
CONCAT(c1,c2):c1,c2均为字符串,连接两个字符串;函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符||返回的结果相同。
||:表示连接,同contact(c1,c2)函数
例子:
SELECT SUBSTR
(
'ASDF'
,
2
,
2
)
SN
,
SUBSTR
(
'ASDF'
,
2
,
4
)
SRN
,
SUBSTR
(
'ASDF'
,-
1
,
2
)
SLN
,
REPLACE
(
'ASSDF'
,
'S'
,
'A'
)
RN
,
REPLACE
(
'ASSDF'
,
'E'
,
'A'
)
RNN
,
CONCAT
(
'ABC'
,
'DEF'
)
CN
,
'ABC'
||
'DEF'
CN
FROM
DUAL
|
![](https://p-blog.csdn.net/images/p_blog_csdn_net/WillSea/b6abaad08e43476eb22283dee860f830.png)
LENGTH(c1):c1为字符串,返回字符串的长度;如果c1为null,那么将返回null值。
INSTR(C1,C2,I,J):在一个字符串中搜索指定的字符,返回指定的字符的位置;C1 :被搜索的字符串,C2 :希望搜索的字符串,I :搜索的开始位置,默认为1,J :出现的次数,默认为1;当没有发现需要的字符时返回0,如果I为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右。
例子:
SELECT
LENGTH
(
'ASDF'
),
LENGTH
(
NULL
),
INSTR
(
'ASDF'
,
'S'
,
1
,
2
),
INSTR
(
'ASDF'
,
'S'
,
1
,
1
),
INSTR
(
'ASDF'
,
'S'
,-
1
,
2
)
FROM
DUAL
|
![](https://p-blog.csdn.net/images/p_blog_csdn_net/WillSea/91e3048cfefd46cf92f69f6b0a21c531.png)
2.3、Date类:
SYSDATE
,
sysdate_
,
LAST_DAY
,
ADD_MONTHS
,
to_date
SYSDATE
:返回当前日期时间
sysdate_
:返回当前日期
LAST_DAY(date)
:返回给定日期的最后一天
ADD_MONTHS(date,n)
:返回对给定日期增加或减少给定的月数的日期
例子:
/* Formatted on 2007/05/17 15:33 (Formatter Plus v4.8.6) */
SELECT
SYSDATE
,
sysdate_
,
LAST_DAY
(
SYSDATE
),
ADD_MONTHS
(
LAST_DAY
(
SYSDATE
),
4
)
FROM
DUAL
/
|
![](https://p-blog.csdn.net/images/p_blog_csdn_net/WillSea/035d62a528da4013a98ca039b8557d36.png)