(Oracle)常用的数据库函数

Trim:

Trim() 函数的功能是去掉首尾空格.

Eg:         trim(to_char(level, '00'))

Trunc:

1.TRUNC函数为指定元素而截去的日期值。

trunc(sysdate,'yyyy'--返回当年第一天。
trunc(sysdate,'mm'--返回当月第一天。
trunc(sysdate,'d'--返回当前星期的第一天。
trunc(sysdate,'dd'--返回当前年月日
2.TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。

 来自 <http://www.cnblogs.com/gengaixue/archive/2012/11/21/2781037.html>

trunc函数和round函数区别。round有四舍五入功能,而trunc只是截取不在乎后面的数据大小。

Oracle round()函数与trunc()函数区别介绍 :链接——————》

来自 <http://blog.csdn.net/liuyuehui110/article/details/44095705>

Nvl:

1.

NVL函数是一个空值转换函数

如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型。

 decode

decode(字段或字段的运算,值1,值2,值3)

  这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3

 当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多

来自 <http://www.cnblogs.com/vinsonLu/p/3512526.html>

 Max

 max()取某一列值得最大数

Lpad函数

lpad函数将左边的字符串填充一些特定的字符其语法格式如下:lpad(string,n,[pad_string])

string
字符或者参数

n
字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

pad_string
可选参数,这个字符串是要粘贴到string的左边,若这个参数未写,lpad函数将会在string的左边粘贴空格。

lpad('tech', 7); 将返回' tech'
lpad('tech', 2); 将返回'te'
lpad('tech', 8, '0'); 将返回'0000tech'
lpad('tech on the net', 15, 'z'); 将返回'tech on the net'
lpad('tech on the net', 16, 'z'); 将返回'ztech on the net'

 Rpad函数

rpad函数将右边的字符串填充一些特定的字符其语法格式如下:rpad(string,n,[pad_string])

 string
字符或者参数

 n
字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

 rpad_string
可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。

 rpad('tech', 7); 将返回' tech'
rpad('tech', 2); 将返回'te'
rpad('tech', 8, '0'); 将返回'tech0000'
rpad('tech on the net', 15, 'z'); 将返回'tech on the net'
rpad('tech on the net', 16, 'z'); 将返回'tech on the netz'

translate

语法:TRANSLATE(expr,from,to)
expr: 代表一串字符,from 与 to 是从左到右一一对应的关系,如果不能对应,则视为空值。
举例:

select translate('abcbbaadef','ba','#@') from dual-- (b将被#替代,a将被@替代)
select translate('abcbbaadef','bad','#@') from dual-- (b将被#替代,a将被@替代,d对应的值是空值,将被移走)
因此:结果依次为:@#c##@@def 和@#c##@@ef

REGEXP_COUNT

Oracle11g版本中引入了REGEXP_COUNT函数,使用这个函数可以统计字符串出现的次数,小观一下。

语法:REGEXP_COUNT (source_char, pattern [, position [, match_param]])

eg:

select regexp_count('abcdsa','a') from dual;
结果:2
原文地址:https://www.cnblogs.com/littlewu/p/7384094.html