SQL字符串函数

1,合并字符串:||或者CONCAT:

  select CONCAT('ABC','DE') from dual;结果:'ABCDE';

2,字符串每个单词首字母变大写:

  select INITCAP('this is a test') from dual;结果: 'This Is A Test';

3,计算字符串长度:

  select LENGTH('this is a test') from dual;结果:14;

4,左填充LPAD,右填充RPAD,默认填充空格,可指定字符:

  select LPAD('abc',6,'A')  from dual;结果: 'AAAabc';

5,字符串转换大写UPPER,转换小写LOWER:

  select UPPER('abc')  from dual;结果: 'ABC';

6,提取子串:

  select substr('helloword',2,3) from dual;结果: 'ell';

7,删除字符串前缀和后缀:TRIM( [LEADING | TRAILING |BOTH] [ trimchar FROM ] string)
  LEADING---删除前缀字符
  TRAILING---删除后缀字符
  BOTH---前后缀字符均删除(默认方式)
  Trimchar---指定删除的字符

       select trim(both 'h' from 'hellowordh') from dual;结果:'elloword'

8,返回参数列表中的最小值:

  select LEAST(1,2,5,-10,9) from dual;结果:'-10';

14,聚合函数:AVG---求平均值;
  COUNT---返回查询的行数;
  MAX---返回查询列的最大值;
  MIN---返回查询列的最小值;
  SUM---返回查询列的总和;
  MAX, MIN常与GROUP BY配套使用

15,转换函数:

  TO_DATE---转换字符串为日期型
  格式∶ TO_DATE(STRING[,’FORMAT’])
  
  TO_CHAR---转换日期型或数值型为字符串。最重要的函数之一.其FORMAT格式多种多样
  格式∶TO_CHAR(DATE [,’FORMAT’])
  
  TO_NUMBER---转换字符串为数字
  格式∶TO_NUMBER(string [ , format])

 16,DECODE函数:

  作用:实现IF-THEN-ELSE语句的功能

  语法:decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)

  例如:DECODE(VALUE,1,100,2,300,500)
  当VALUE=1时返回100
  当VALUE=2时返回300
  否则返回500

  DECODE(SIGN(VALUES-100), -1,-10,1,10,0)
  当VALUE<100时返回-10
  当VALUE>100时返回10
  当VALUE=100时返回0

  SELECT SUM(DECODE(EST_INT_KEY,77771,1,0)) A,
  SUM(DECODE(EST_INT_KEY,77772,1,0)) B,
  SUM(DECODE(EST_INT_KEY,77773,1,0)) C
  FROM PMS_BLK

17,NVL---空值置换
  格式: NVL(value,替换值)
  例: NVL(value,’nullvalue’)当value为NULL值时返回nullvalue否则返回value的值

18,ROWNUM--- oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数。不能以任何基表的名称作为前缀。可以用在限制返回记录条数的地方不受ORDER BY的影响.
  例∶ select rownum,month,sell from sale where rownum=1
  或select rownum,month,sell from sale where rownum<2(返回第一条记录)
  返回rownum在4—10之间的记录
  select rownum,month,sell from sale where rownum<10
  minus
  select rownum,month,sell from sale where rownum<5;
  
  以下均错误:
  select rownum,month,sell from sale where rownum=2(1以上)
  select rownum,month,sell from sale where rownum>2

 

转载于:https://www.cnblogs.com/xmqlv20081008/p/7831177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值