Oracle(字符函数)

单行函数语法:

语法:funcation_name(列 | 表达式[, 参数1, 参数2])

单行函数主要分为以下几种:

  • 字符函数:接收数据返回具体的字符信息
  • 数值函数:对数字进行处理,例如:四舍五入
  • 日期函数:直接对日期进行相关的操作
  • 转换函数:日期、字符、数字之间可以完成互相转换功能
  • 通用函数:Oracle自己提供的有特色的的函数

字符函数:

 

在Oracle里面所有的验证操作必须存在完整SQL语句之中,所以如果现在只是进行功能验证,使用的是一张具体的表。

SELECT UPPER('LiXingHua') FROM emp;

因为emp有14行记录,所以会重复显示14行。如果emp表中的数据很多,即使用DISTINCT消除,代码的代价还是很高。所以现在希望有一张表进行用户验证,所以在Oracle里提供dual的数据表(dual是张虚拟表)。

范例:验证 UPPER() 和 LOWER()

SELECT UPPER('LiXingHua'), LOWER('MLDN') FROM dual;

范例:

范例:

首字母大写,那么一定其他字母都是小写,可以利用INITCAP()函数进行处理。

范例:替换使用的是REPLACE()函数。

范例:计算长度,使用LENGTH()函数,长度返回的数据是数值型数据。

范例:截取操作使用SUBSTR()函数

截取函数SUBSTR()的两种形式:

  • 从指定位置截取到结尾:SUBSTR(列 | 字符串, 截取开始点)
  • 截取部分的字符串:SUBSTR(列 | 字符串, 截取开始点, 截取个数)

在Oracle数据库中,下标都是从1开始,如果设置为0,也会自动转换为1。

范例:

范例:

截取姓名之中的后三个,开始点的确定:

  • 实现一:先求得姓名的长度,而后减2
  • 实现二:设置开始点为负数

注意:Java语言里的substring()方法,是不够设置负数的。

面试题: 请问Oracle中的SUBSTR()函数的下标开始点是从0开始还是从1开始。

Oracle也可以设置为1,即使使用了0,那么最终的结果也会将其定义为1。

范例:返回dual中“l”的ASCII码

范例:

范例:(ltrim 左边裁减掉指定字符串  trim 修减)

不管如何消除,中间的空格是无法消除的。

范例:(pad 填补)

范例:(instr 指示书,指导人)

如果查找到要找的内容,那么此函数会返回位置,如果找不到,就返回0。

这个函数和Java中的 indexOf() 方法功能相同的。 

posted @ 2017-12-29 11:57  做梦当财神  阅读(244)  评论(0编辑  收藏  举报