《大小写处理与字符处理》由会员分享,可在线阅读,更多相关《大小写处理与字符处理(23页珍藏版)》请在金锄头文库上搜索。
1、版权所有 2010,Oracle。保留所有权利。大小写处理和字符处理大小写处理和字符处理2大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。学习内容学习内容在本课中,您将学习:在本课中,您将学习: 选择并应用单行函数,以进行大小写转换 和(或)字符处理 选择字符大小写处理函数 LOWER、 UPPER 和 INITCAP 并将其应用于 SQL 查询 选择字符处理函数 CONCAT、SUBSTR、 LENGTH、INSTR、LPAD、RPAD、 TRIM 和 REPLACE 并将其应用于 SQL 查询 利用替代变量编写灵活的查询3大小写处理和字符处理大小写处
2、理和字符处理版权所有 2010,Oracle。保留所有权利。sdp_s01_l01_a01学习目的学习目的您是否曾对不同着装风格进行过研究? 我们在特殊的场合盛装打扮,在游玩时穿 着休闲服装,在参加体育赛事和演唱会时 身穿统一服装。在不同的场合改变穿着是 非常重要的。如果参加求职面试,您将如 何穿着?4大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。处理来自数据库的数据时,改变数据的外观 是非常重要的。在 SQL 中,常常需要根据 任务要求,更改数据的外观。在本部分中,您将学习几种转换数据以适应 特定需求的方法。学习目的学习目的5大小写处理和字符处理大小
3、写处理和字符处理版权所有 2010,Oracle。保留所有权利。讲述讲述/示范示范DUAL 表表 DUAL 表具有一个称为“X”的行,一个称为 “DUMMY”的列。DUAL 表用于创建 SELECT 语句并执行不与特定数据库表直接相关的命令。 使用 DUAL 表的查询将返回一行作为结果。 利用 DUAL 表可进行类似以下示例的计算, 还可对不从表得出结果的表达式求值。DUMMYX6大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。sdp_s01_l01_a02DUAL 表(续)表(续) 可通过 DUAL 学习许多单行函数。SELECT (319/29) +
4、 12 FROM DUAL;(319/29)+1223讲述讲述/示范示范7大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。讲述讲述/示范示范单行字符函数单行字符函数 单行字符函数有两种类别:用于转换字符串大小写的函数。 用于联接、提取、显示、查找、填充和 截取字符串的函数。单行函数可以用于 SELECT、WHERE 以及 ORDER BY 子句。8大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。单行字符函数(续)单行字符函数(续) 大小写处理函数非常重要,因为您可能并不 总知道数据以何种形式(大写、小写或大小 写混
5、合)存储在数据库中。大小写处理可以 暂时将数据库中的数据转换为您所选择的大 小写形式。从而可以避免数据库存储的大小 写与查询请求的大小写不匹配。讲述讲述/示范示范9大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。字符函数字符函数大小写处理函数大小写处理函数字符处理函数字符处理函数LOWER UPPER INITCAPCONCAT SUBSTR LENGTH INSTR LPAD | RPAD TRIM REPLACE字符函数字符函数大小写处理函数大小写处理函数 可使用大小写处理函数 将小写数据转换为大写 或大小写混合数据。 这些转换可用来设置 输出的格式
6、,还可用来 搜索特定的字符串。在 SQL 语句中的大多数 位置都可以使用大小写 处理函数。讲述讲述/示范示范10大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。大小写处理函数(续)大小写处理函数(续) 当您要搜索数据但不知道要查找的数据是大写还是小写时, 大小写处理函数通常很有用。从数据库的角度看,V和 v是不同的字符,因此您需要使用正确的大小写进行搜索。LOWER(列列 | 表达式表达式) 可将字母字符转换为小写。SELECT 专辑专辑 FROM d_cds WHERE LOWER(专辑专辑) = carpe diem;讲述讲述/示范示范11大小写处理
7、和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。大小写处理函数(续)大小写处理函数(续) UPPER(列列 | 表达式表达式) 可将字母字符转换为大写。SELECT 专辑专辑 FROM d_cds WHERE UPPER(专辑专辑) = CARPE DIEM;INITCAP(列列 | 表达式表达式) 可将字母字符值转换为每个单词的 首字母采用大写。SELECT 专辑专辑 FROM d_cds WHERE INITCAP(专辑专辑) = Carpe Diem;讲述讲述/示范示范12大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利
8、。字符处理函数字符处理函数 字符处理函数用于提取、更改、改变字符串或对字符串进行格 式设置。 将一个或多个字符或单词输入函数后,函数对输入字符串执行 相应函数功能,并返回已更改、提取、计数或改变的值。CONCAT:联接两个值。 SUBSTR:提取指定长度的字符串。函数函数结果结果CONCAT(Hello, World)HelloWorldSUBSTR(HelloWorld, 1, 5)Hello讲述讲述/示范示范13大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。函数函数结果结果LENGTH(HelloWorld)10INSTR(HelloWorld,
9、W)6LPAD(薪金, 10, *)*24000讲述讲述/示范示范字符处理函数(续)字符处理函数(续) LENGTH:以数字值显示字符串的长度。 INSTR:以数字返回指定字符的位置。 LPAD:在字符的左侧进行填充,得到右对齐值。14大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。函数函数结果结果RPAD(薪金, 10, *)24000*TRIM(H FROM HelloWorld)elloWorld 讲述讲述/示范示范字符处理函数(续)字符处理函数(续) RPAD:在字符的右侧进行填充,得到左对齐值。 TRIM:从字符串开头或结尾处起删除指定的全部字
10、符。 trim 函数的语法为:TRIM( 首字符首字符 | 尾字符尾字符 | 两者两者 要删除的字符要删除的字符 要截去的字符串要截去的字符串)15大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。字符处理函数(续)字符处理函数(续) REPLACE:用另一组字符代替字符串中的一个字符序列。 REPLACE 函数的语法为:REPLACE (字符串1, 要替换的字符串, 替换字符串 )“字符串1”是要被替换的字符所在的字符串;“要替换 的字符串”是要搜索并从“字符串1”中删除的字符串; 替换字符串 是要插入字符串1 的新字符串。SELECT REPLACE(
11、JACK and JUE,J,BL) “Changes“ FROM DUAL;函数函数更改更改REPLACE(JACK and JUE, J, BL)BLACK and BLUE 讲述讲述/示范示范16大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。在函数中使用列别名在函数中使用列别名 所有函数都作用于括号中的值,每个函数的 名称表明了其作用,以便于在构建查询时 区分。同时请注意函数中列别名的使用。 在以下示例中,第一个查询用别名“用户名” 替换了函数语法。 默认情况下,列名以列标题形式出现。不过, 在该查询中,表中没有对应生成结果的列, 因此使用了查询
12、语法,如第二个示例中所示。讲述讲述/示范示范17大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。在函数中使用列别名(续)在函数中使用列别名(续) SELECT LOWER (姓氏姓氏)|LOWER(SUBSTR(名字名字,1,1) AS “用户名用户名“FROM f_员工员工;用户名用户名doesmillerbtuttlemSELECT LOWER (姓氏姓氏)|LOWER(SUBSTR(名字名字,1,1) FROM f_员工员工;LOWER (姓氏姓氏)|LOWER(SUBSTR(名字名字,1,1) doesmillerbtuttlem讲述讲述/示范示
13、范18大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。替代变量替代变量 有时,可能需要以多个不同的值运行同一查询,以获得不同 的结果集。试想一下,如果您需要编写雇员及其部门的报表, 但查询一次只能返回一个部门的数据。在不使用替代变量的 情况下,此请求意味着需要不断编辑同一语句以更改 WHERE 子句。幸运的是,Oracle Application Express 支持替代变量。要使 用替代变量,只需用“:命名的变量”替换语句中的固定值。 之后,在您执行语句时 Oracle Application Express 将提示您 输入值。讲述讲述/示范示范19大
14、小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。替代变量(续)替代变量(续) 因此,此原始查询: SELECT 名字名字, 姓氏姓氏, 薪金薪金, 部门标识部门标识 FROM 雇员雇员 WHERE 部门标识部门标识 = 10(后面的依次为(后面的依次为 20、30、40)可重新编写为:SELECT 名字名字, 姓氏姓氏, 薪金薪金, 部门标识部门标识 FROM 雇员雇员 WHERE 部门标识部门标识 = :dept_id请注意在“dept_id”前使用了 : 符号,这是一种具有特殊用途 的冒号,可使 Oracle Application Express 接
15、受变量值。讲述讲述/示范示范20大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。替代变量(续)替代变量(续) Oracle Application Express 将替代变量作为字符串,这意味着 在传递字符或日期值时,无需使用通常用来将字符串括起来的 单引号。因此,可以有下面这样的 WHERE 子句SELECT * FROM 雇员雇员 WHERE 姓氏姓氏 = :l_name单击“Run(运行)”时,Oracle Application Express 将显示 一个弹出窗口,如下所示:讲述讲述/示范示范21大小写处理和字符处理大小写处理和字符处理版权所有
16、 2010,Oracle。保留所有权利。术语术语 本课中使用的主要术语包括:字符函数CONCAT DUAL表达式 格式INITCAP 输入INSTR LENGTHLOWER LPAD输出 REPLACERPAD 单行函数SUBSTR TRIMUPPER 替代变量讲述讲述/示范示范22大小写处理和字符处理大小写处理和字符处理版权所有 2010,Oracle。保留所有权利。在本课中,您应该已经学会:在本课中,您应该已经学会: 选择并应用单行函数,以进行大小写转换 和(或)字符处理 选择字符大小写处理函数 LOWER、 UPPER 和 INITCAP 并将其应用于 SQL 查询 选择字符处理函数 CONCAT、SUBSTR、 LENGTH、INSTR、LPAD、RPAD、 TRIM 和 REPLACE