您的位置:首页 > 数据库 > Oracle

Oracle之函数

2016-07-18 15:09 344 查看

----字符函数----  

字符函数主要用于修改字符列。这些函数接受字符输入,返回字符或数字值。Oracle 提供的一些字符函数如下。

1. CONCAT (char1, char2)

返回连接“char2”的“char1”。 

2. INITCAP(string)

将“string”的字符转成大写。

3. LOWER (string)

将“string”转成小写。 

4. LPAD(char1,n [,char2])

返回“char1”,左起由“char2”中的字符补充到“n”个字符长。如果“char1”比“n”长,则函数返回“char1”的前“n”个字符。 

5. LTRIM(string,trim_set)

从左边删除字符,此处“string”是数据库的列,或者是字面字符串,而“trim_set” 是我们要去掉的字符的集合。 

6. REPLACE(string, if, then)

用 0 或其他字符代替字符串中的字符。“if”是字符或字符串,对于每个出现在“string”中的“if”,都用“then”的内容代替。 

7. RPAD(char1, n [,char2])

返回“char1”,右侧用“char2”中的字符补充到“n”个字符长。如果 “char1”比“n” 长,则函数返回“char1”的前“n”个字符。 

8. RTRIM(string,trim_set)

从右侧删除字符,此处“string”是数据库的列,或者是字面字符串,而“trim_set” 是我们要去掉的字符的集合。 

9. SOUNDEX(char)

返回包含“char”的表意字符的字符串。它允许比较英语中拼写不同而发音类似的字。 

10. SUBSTR(string, start [,count])

返回“string”中截取的一部分。该命令截取“string”的一个子集,从“start”位置开始,持续“count”个字符。如果我们不指定“count”,则从“start”开始截取到“string”的尾部。 

11. TRANSLATE(string, if, then)

“if”中字符的位置,并检查“then”的相同位置,然后用该位置的字符替换 “string”中的字符。 

12. UPPER(string)

返回大写的“string”。

13. ASCII(string)

该命令是“American Standard Code for Information Interchange”的缩写。它是使用数字表示可打印字符的基本规则。该函数返回 “string”中第一个(最左边)字符的 ASCII 值。 

14. INSTR (string, set[, start[, occurrence] ] )

该命令“string”中从“start”位置开始查找字符集合的位置,再查找“set”出现的第一次、第二次等等的“occurrence”(次数)。“start”的值也可以是负数,代表从字符串结尾开始向反方向搜索。该函数也用于数字和日期数据类型。 

15. LENGTH(string)

返回“string”的长度值。 

----数字函数---- 

数字函数接受数字输入,返回数字值作为输出。数字函数返回的值可精确至 38 个小数位数。Oracle 所提供的一些数字函数如下所示。

1. ABS(n)

返回 n 的绝对值。 

2. CEIL(n)

返回大于等于 n 的最小整数。 

3. FLOOR(n)

返回小于等于 n 的最大整数。 

4. MOD(m,n)

返回 m 被 n 除后的余数。然而如果 n 为 0,则返回 m。 

5. POWER(m, n)

返回 m 的 nth 乘方。底数 m 和指数 n 可为任何数,但如果 m 为负数,n 必须为整数。 

6. ROUND(value, precision)

Round 将“value”中给定的数值舍入到“precision”中指定的小数位。

7. SQRT(n)

返回 n 的平方根。n 值不能为负。 示例

8. TRUNC(n[,m])

返回截尾取整到 m 小数位的 n。

----转换函数---- 

除了字符、数值和日期函数外,Oracle 还提供转换函数。转换函数将值从一种数据类型转换为另一种数据类型。Oracle 所提供的一些转换函数如下所示。

1.TO_CHAR(d [, fmt ])

将 DATE 数据类型的“d”转换为 VARCHAR2 数据类型的值,格式由日期格式“fmt”所指定。如果省略了“fmt”,则将 d 按照默认的日期格式转化为 VARCHAR2 值。 

2.TO_CHAR(n [, fmt ])

使用可选的数字格式“fmt”将 NUMBER 数据类型的“n”转换成为 VARCHAR2 数据类型的值。如果省略了“fmt”,则将 n 转换为长度刚好为其有效数字位数的 VARCHAR2 值。

3.TO_NUMBER(char [,fmt ])

将包含一个数字的 CHAR 或 VARCHAR2 数据类型的“char”转换为格式“fmt”所指定的格式,即 NUMBER 数据类型。 

4.TO_DATA(char,fmt)

将CHAR或VARCHAR2值转换为一指定格式的日期类型的值。
----数据和日期函数---- 

Oracle 在日期使用上允许极大的灵活性。由于可以在日期字段存储时间和日期,从而有函数可以既引用日期又引用时间。 Oracle 所提供的一些日期函数如下所示。

1. SYSDATE

返回当前的日期和时间。 

2. ADD_MONTHS(d, no_of_month)

返回带有“no_of_month”的日期“d”。参数“no_of_month”可为任何整数。

3. LAST_DAY(month_day)

返回变量“month_day”中所指定月份的最后一天的日期。 

4. MONTHS_BETWEEN(d1, d2)

返回日期 d1 和 d2 之间的月份数。如果 d1 晚于 d2,结果为正,否则返回负数。

5. NEXT_DAY(d, day_of_week)

返回由“day_of_week”命名的,在变量“d”指定的日期之后的第一个工作日的日期。参数“day_of_week”必须为该星期中的某一天。

----混合函数---- 

以下是由 Oracle 提供的一些杂项函数

1.GREATEST(expr [,expr] ...)

返回值列表的最大值。对于字符数据比较的是 ASCII 值。

返回值列表的最小值。对于字符数据比较的是 ASCII 值。

3.NVL(value substitute)

如果值是 null 则替换值。 

4.USER

以 VARCHAR2 数据类型返回当前 Oracle 用户。

5.VSIZE(expr)

返回 expr 的内部表达的字节数,如果 expr 是 null,则该函数返回 null。

----数字和日期格式模型----

以下给出可用于数字和日期的格式模型.

数字格式
格s式元素说明
9如果是正数,则返回指定数字个数的值,带前导空格
0根据指定的位置,返回前导或者跟随的零。
$返回带有前导美元符的值。
B当固定小数点数字的整数部分是零时,整数部分返回空格。
MI返回跟有负号的负数。返回跟有空格的正数。
S根据指定的位置,返回带前导或跟随负号的负数。
PR返回带括号的负数。
D或.(句号)在指定位置返回小数值。
G在指定位置返回逗号。
日期格式
格式元素说明
AD 或 A.D.带有或不带有句号的 AD 标记
BC 或 B.C.带有或不带有句号的 BC 标记
D一周中的天 (1-7)
DAY天的名称 (Sunday - Saturday)
DD一月中的天 (1 - 31)
DDD一年中的天 (1 - 366)
DY天的缩写 (Sun - Sat)
HH一天中的小时 (1 - 12)
HH24一天中的小时 (0 - 23)
MI分钟 (0-59)
MM月 (01-12)
MON月名称的缩写
MONTH月的名称
SS秒 (0-59)
YYYY4 个数字表示的年
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: