oracle MAX函数、Lpad函数和Rpad函数的用法

一、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个字符;
pad_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'



三、Max函数(Min函数)

当需要了解一列中的最大值时,可以使用MAX()函数。但是,当列的数据类型不是数值型时,MAX函数是如何比较大小的呢?


1、对字符型数据的最大值,是按照首字母由A~Z的顺序排列,越往后,其值越大。当然,对于汉字则是按照其全拼拼音排列的,若首字符相同,则比较下一个字符,以此类推。
可以通过以下代码进行验证:

点击(此处)折叠或打开

  1. select max(manid) from (
  2. select 'A' as manid from dual
  3. union all
  4. select 'a' as manid from dual
  5. ) -- 结果将返回‘a’

  6. select max(manid) from (
  7. select 'b'as manid from dual
  8. union all
  9. select 'f' as manid from dual
  10. ) -- 结果将返回‘f’

  11. select max(manid) from (
  12. select 'bge' as manid from dual
  13. union all
  14. select 'bgf' as manid from dual
  15. -- 结果将返回‘bgf’


2、对与日期时间类型的数据也可以求其最大/最小值,其大小排列就是日期时间的早晚,越早认为其值越小。有如下实例

点击(此处)折叠或打开

  1. select max(datetime) from (
  2. select to_date('2017-05-06 10:21:32','yyyy-MM-DD hh24:mi:ss') as datetime from dual
  3. union all
  4. select to_date('2017-05-13 08:12:23','yyyy-MM-DD hh24:mi:ss') as datetime from dual
  5. )    -- 结果将返回‘2017-05-13 08:12:23

3、确定列中的最大值(最小值)时,MAX( )(MIN( ))函数忽略NULL值。但是,如果在该列中,所有行的值都是NULL,则MAX( )/MIN( )函数将返回NULL值。


转载自:
1、http://www.cnblogs.com/ymj126/p/3912827.html
2、http://blog.csdn.net/woshixuye/article/details/17262307

End!

请使用浏览器的分享功能分享到微信等