目录
大小写转换
首字母大写
计算字符串的长度
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
字符串函数可以对字符串数据进行处理,在 Oracle 中此类函数主要有如下几种: UPPER()、LOWER()、INITCAP()、REPLACE()、LENGTH()、SUBSTR()
大小写转换
转大写函数: upper( 列 | 字符串 )
转小写函数: lower( 列 | 字符串 )
但是现在的问题是,如果想要在 Oracle 之中验证字符串函数,那么必须要保证编写的是完整的 SQL 语句。所以为了可以方便地进行函数验证,往往会使用一张虚拟表: dual 表
1.用户自己输入一个员工姓名,而后进行员工信息的查找
其中“&inputname”是提示用户输入数值的一个替代变量,上述查询在运行的时候会暂停,等待 用户输入数据给这个变量
SQL> select *
2 from emp
3 where ename='&inputname';
输入 inputname 的值: smith
原值 3: where ename='&inputname'
新值 3: where ename='smith'
未选定行
因为用户在进行数据输入的时候几乎不会去考虑大小写,所以为了保证数据可以正常查询出来,往往需要对输入数据做一个处理。由于在数据表之中所有的数据都是大写,那么就可以在接收完输入数据之后将其全部自动变为大写字母
2.改善输入操作
SQL> select *
2 from emp
3 where ename=upper('&inputname');
输入 inputname 的值: smith
原值 3: where ename=upper('&inputname')
新值 3: where ename=upper('smith')
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
所以在一些要求严格的操作环境下,对于不区分大小写的操作的处理基本上有两种做法
● 在数据保存的时候将所有的数据统一变为大写或小写字母,这样在查询的时候就可以直接利用特定的函数进行处理
● 在数据保存的时候依然将所有的数据按照原始方式保存,而后在查询的时候将每一个数据中的字母都变为大写形式进行处理
首字母大写
如下:
该函数可以把参数所涉字符串的第一个字母转换为大写
3.观察首字母大写
除了首字母变为大写之外,其余的字母都是小写。运行结果应为“Helloworld”
4.将每一个员工的姓名首字母转换为大写
计算字符串的长度
如下
该函数可以计算函数参数中字符串或者数据列内容的长度
5.查询每个员工的姓名并计算员工姓名的长度
单行函数可以在 SQL 语句的任意位置上出现,既可以出现在 SELECT 后面,也可以出现在 WHERE 中
6.查询员工姓名长度为 5 的所有员工信息
SQL> select *
2 from emp
3 where length(ename) = 5;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7900 JAMES CLERK 7698 03-12月-81 950 30
8989 HELLO
已选择 7 行。