oracle函数

oracle函数

1.字符函数

2.数据和日期函数

3.数字函数

4.转换函数

5.混合函数

1.字符函数

----字符函数----
字符函数主要用于修改字符列。这些函数接受字符输入,返回字符或数字值。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”的长度值。 

2.数据和日期函数

----数据和日期函数----
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”必须为该星期中的某一天。 

3.数字函数

----数字函数----
数字函数接受数字输入,返回数字值作为输出。数字函数返回的值可精确至 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。 

4.转换函数

----转换函数----
除了字符、数值和日期函数外,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 ])

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

4.TO_DATA(char,fmt) 

将CHAR或VARCHAR2值转换为一指定格式的日期类型的值。 

5.混合函数

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

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

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

2.LEAST(expr [,expr] ...)

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

3.NVL(value substitute)

如果值是 null 则替换值。 

4.USERVARCHAR2 数据类型返回当前 Oracle 用户。 

5.VSIZE(expr)

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

6.行转列(oracle)
wm_concat()

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

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

数字格式

格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)
YYYY 4 个数字表示的年
原文地址:https://www.cnblogs.com/aongao/p/10652918.html