- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle笔记[5)单行函数
虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一个数据库自己所支持的操作函数,这些就是单行函数,而如果要想进行数据库开发的话,除了要会使用SQL之外 ,就是要多学习函数。
单行函数主要分为以下五类:字符函数、数字函数、日期函数、转换函数、通用函数;
一、字符函数
字符函数的功能主要是进行字符串数据的操作,下面给出几个字符函数:
UPPER(字符串 | 列):将输入的字符串变为大写返回;
LOWER(字符串 | 列):将输入的字符串变为小写返回;
INITCAP(字符串 | 列):开头首字母大写;
LENGTH(字符串 | 列):求出字符串的长度;
REPLACE(字符串 | 列):进行替换;
SUBSTR(字符串 | 列,开始点 [,结束点]):字符串截取;
Oracle之中有一点比较麻烦,即使要验证字符串,也必须编写完整的SQL语句,所以在Oracle数据库之中为了用户查询方便,所以专门提供了一个“dual”的虚拟表。
范???:观察转大写的函数
SELECT UPPER(hello) FROM dual;
SQL SELECT UPPER(hello) FROM dual;
UPPER
-----
HELLO
大写转换的用处:在一般的使用之中,用户输入数据的时候去关心数据本身存放的是大写还小写吗?
SELECT * FROM emp WHERE ename=str;
SQL SELECT * FROM emp WHERE ename=str;
输入 str 的值: smith
原值 1: SELECT * FROM emp WHERE ename=str
新值 1: SELECT * FROM emp WHERE ename=smith
HYPERLINK
未选定行
SQL SELECT * FROM emp WHERE ename=str;
输入 str 的值: SMITH
原值 1: SELECT * FROM emp WHERE ename=str
新值 1: SELECT * FROM emp WHERE ename=SMITH
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
此时如果输入的是小写,则肯定无法查询出数据,所以这个时候不能要求用户这么多,所以这个时候只能由程序自己去适应,加入一个函数:
SELECT * FROM emp WHERE ename=UPPER(str);
SQL SELECT * FROM emp WHERE ename=UPPER(str);
输入 str 的值: smith
原值 1: SELECT * FROM emp WHERE ename=UPPER(str)
新值 1: SELECT * FROM emp WHERE ename=UPPER(smith)
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
当然以上的“”的操作属于替代变量的内容,此部分内容不做重点。
范例:观察转小写的操作, HYPERLINK 将所有的雇员姓名按照小写字母返回
SELECT LOWER(ename) FROM emp;
范例:将每一个雇员姓名的开头首字母大写
SELECT INITCAP(ename) FROM emp;
范例:查询出每个雇员姓名的长度
SELECT ename,LENGTH(ename) FROM emp;
范例:要求查询出姓名长度正好是5的雇员信息
SELECT ename,LENGTH(ename) FROM e
文档评论(0)