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() 方法功能相同的。
Oracle(字符函数)的更多相关文章
- Oracle字符函数(转换大小写,替换等)
在oracle中,有一些字符函数: upper(字符串):转换为大写lower(字符串):转换为小写initcap(字符串):首字母大写replace(字符串1,字符串2,字符串3):将串1中所有的串 ...
- Oracle字符函数length substr concat实例
--字符函数 --伪表dual --(1)求字符串长度 select length('123.456/-*') from dual --(2)截取函数求字符串的子串 ,) from dual --(3 ...
- oracle字符函数
UPPER(char) 小写转大写 LOWER(char) 大写转小写 INITCAP(char) 首字母转换 SUBSTR(char,[m[,n]]) 截取字符串函数 从源字符串char的m开始截取 ...
- ORACLE 常用字符函数
ORACLE 常用字符函数1 ASCII(arg1)返回参数arg1的十进制数字表示.如果数据库设置为ASCII,则采用的是ASCII码字符.如果设置为EBCDIC,则采用的是EBCDIC字符 sel ...
- oracle 常用sql字符函数介绍
常用字符函数介绍 1.ascii 返回与指定的字符对应的十进制数: SQL>select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') ...
- oracle 10g函数大全--字符型函数
ASCII(x1) [功能]:返回字符表达式最左端字符的ASCII 码值. [参数]:x1,字符表达式 [返回]:数值型 [示例] SQL> select ascii('A') A,ascii( ...
- 【函数】Oracle函数系列(1)--字符函数
[函数]Oracle函数系列(1)--字符函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识 ...
- Oracle 截取、查找字符函数(持续更新)
整理一些常用的截取.查找字符函数: 1.查找某一个字符串中某一个字符(串)出现的次数 SELECT LENGTH(REGEXP_REPLACE(REPLACE('anne<br>lily& ...
- Oracle之现有表上建新表、操作符、字符函数
#PLSQL技术培训15页PPT利用现有表创建表(百度) 说明:做新操作前要对旧表备份 具体百度 语法: create table <new_table_name> as select ...
随机推荐
- 在nginx的http模块下面,一个server就可以看做一个站点,配置形式大概是这样的:
http { index index.php index.htm index.html; server { server_name www.site1.com; location / { # [... ...
- 关于scrapy下载文件重命名的办法以及对应url没有文件后缀的办法
https://www.jianshu.com/p/d1bb28cbb6a8 scrapy中负责下载文件的是class MyFilesPipeline(FilesPipeline)类 其中负责下载文件 ...
- Python求最大可能
也称为求一个集合的所有的子集 采用二进制方法: def PowerSetsBinary(items): #generate all combination of N items N = len(ite ...
- 【题解】Luogu P4363 [九省联考2018]一双木棋chess
原题传送门 这道题珂以轮廓线dp解决 经过推导,我们珂以发现下一行的棋子比上一行的棋子少(或等于),而且每一行中的棋子都是从左向右依次排列(从头开始,中间没有空隙) 所以每下完一步棋,棋盘的一部分是有 ...
- rman备份例子
1.全备份例子 #!/bin/sh RMAN_OUTPUT_LOG=/home/oracle/rman_output.logRMAN_ERROR_LOG=/home/oracle/rman_error ...
- Linux下调整ext3分区大小【转】
本文转载自:https://blog.csdn.net/cruise_h/article/details/22403529 本文讨论如何再不丢失数据的情况下调整已有ext3分区的大小,包括: 压缩已有 ...
- HDU 1848 Fibonacci again and again【博弈SG】
Problem Description 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)=2; F(n)=F(n-1)+F( ...
- thinkphp在前端页面的js代码中可以使用 U方法吗? 可以使用模板变量如__URL__等吗?
thinkphp在前端页面的js代码中可以使用 U方法吗? : 可以的! tp的U方法, 是"全局的", 什么是全局的? 就是, 可以在 "任何地方"使用的: ...
- 160CrackMe练手 001
peid判断无壳,打开输入伪码注册,根据报错od查找字符串 接下来定位到字符串周边代码 0042FA15 |. 8D55 F0 lea edx,[local.4] 0042FA18 |. 8B83 D ...
- fhqtreap初探
介绍 fhqtreap为利用分裂和合并来满足平衡树的性质,不需要旋转操作的一种平衡树. 并且利用函数式编程可以极大的简化代码量. (题目是抄唐神的来着) 核心操作 (均为按位置分裂合并) struct ...