字符串函数(1)

目录

大小写转换

首字母大写

计算字符串的长度


Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645

字符串函数可以对字符串数据进行处理,在 Oracle 中此类函数主要有如下几种: UPPER()、LOWER()、INITCAP()、REPLACE()、LENGTH()、SUBSTR()

大小写转换

转大写函数: upper( 列 | 字符串 )

转小写函数: lower( 列 | 字符串 )

但是现在的问题是,如果想要在 Oracle 之中验证字符串函数,那么必须要保证编写的是完整的 SQL 语句。所以为了可以方便地进行函数验证,往往会使用一张虚拟表: dual 表

字符串函数(1)_第1张图片

1.用户自己输入一个员工姓名,而后进行员工信息的查找

字符串函数(1)_第2张图片

其中“&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.观察首字母大写

字符串函数(1)_第3张图片

除了首字母变为大写之外,其余的字母都是小写。运行结果应为“Helloworld”

4.将每一个员工的姓名首字母转换为大写

字符串函数(1)_第4张图片

计算字符串的长度

如下

该函数可以计算函数参数中字符串或者数据列内容的长度

5.查询每个员工的姓名并计算员工姓名的长度字符串函数(1)_第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 行。

你可能感兴趣的:(Oracle从小白到总裁,数据库,oracle,sql)