按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
CHRISTINE CHRISTINE***********
ADAMS ADAMS***************
COSTALES COSTALES************
KONG KONG****************
输出证明的确已经进行了剪除工作 现在请再试一个 LTRIM
输入
SQL》SELECT LASTNAME LTRIM LASTNAME C FROM CHARACTERS
输出
EMAIL wyhsillypig@163。 85
…………………………………………………………Page 86……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
LASTNAME LTRIM(LASTNAME;
PURVIS PURVIS
TAYLOR TAYLOR
CHRISTINE HRISTINE
ADAMS ADAMS
COSTALES OSTALES
KONG KONG
注意 第三行和第五行的 已经没有了
REPLACE
它的工作就如果它的名字所说的那样 该函数需要三个参数 第一个参数是需要搜索
的字符串 第二个参数是搜索的内容 第三个参数则是需要替换成的字符串 如果第三个
参数省略或者是 NULL 那么将只执行搜索操作而不会替换任何内容
输入
SQL》 SELECT LASTNAME REPLACE LASTNAME ST REPLACEMENT FROM
CHARACTERS
输出
LASTNAME REPLACEMENT
PURVIS PURVIS
TAYLOR TAYLOR
CHRISTINE CHRIINE
ADAMS ADAMS
COSTALES COALES
KONG KONG
如果存在第三个参数 如么在每一个目标字符串中搜索到的内容将会被由第三个参数所指
定的字符串替换 例如
输入
SQL》 SELECT LASTNAME REPLACE LASTNAME ST ** REPLACEMENT
FROM CHARACTERS
输出
LASTNAME REPLACEMENT
PURVIS PURVIS
EMAIL wyhsillypig@163。 86
…………………………………………………………Page 87……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
TAYLOR TAYLOR
CHRISTINE CHRI**INE
ADAMS ADAMS
COSTALES CO**ALES
KONG KONG
如果没有第二个参数 那么只有将源字符串返回而不会执行任何操作
输入
SQL》 SELECT LASTNAME REPLACE LASTNAME NULL REPLACEMENT
FROM CHARACTERS
输出
LASTNAME REPLACEMENT
PURVIS PURVIS
TAYLOR TAYLOR
CHRISTINE CHRISTINE
ADAMS ADAMS
COSTALES COSTALES
KONG KONG
SUBSTR
这个函数有三个参数 允许你将目标字符串的一部份输出 第一个参数为目标字符串
第二个字符串是将要输出的子串的起点 第三个参数是将要输出的子串的长度
输入
SQL》SELECT FIRSTNAME SUBSTR FIRSTNAME 2 3 FROM CHARACTERS
输出
FIRSTNAME SUB
kelly ell
CHUCK HUC
LAURA AUR
FESTER EST
ARMANDO RMA
MAJOR AJO
如果第二个参数为负数 那么将会从源串的尾部开始向前定位至负数的绝对值的位置 例
如
EMAIL wyhsillypig@163。 87
…………………………………………………………Page 88……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
输入
SQL》 SELECT FIRSTNAME SUBSTR FIRSTNAME …13 2 FROM CHARACTERS
输出
FIRSTNAME SU
kelly ll
CHUCK UC
LAURA UR
FESTER ST
ARMANDO MA
MAJOR JO
分析
切记 FIRSTNAME 字段的宽度为 15 这也就是为什么参数为…13 时会从第三个开始的原因
因为从 15 算起向前算第 13 个字符正好是第 3 个字符 如果没有第三个参数 将会输出字
符串余下的部分
输入
SQL》 SELECT FIRSTNAME SUBSTR FIRSTNAME 3 FROM CHARACTERS
输出
FIRSTNAME SUBSTR(FIRSTN
kelly lly
CHUCK UCK
LAURA URA
FESTER STER
ARMANDO MANDO
MAJOR JOR
看 是不是将字符串余下的部分返回了
现在再来看一个例子
输入
SQL》 SELECT * FROM SSN_TABLE
输出
SSN__________
300541117
301457111
459789998
EMAIL wyhsillypig@163。 88
…………………………………………………………Page 89……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
如果直接阅读上边的结果是比较困难的 比较好的解决办法是使用下划线 请先想一下下
边语句的输出情况
输入
SQL》 SELECT SUBSTR SSN 1 3 ||'…'||SUBSTR SSN 4 2 ||'…'||SUBSTR SSN
6 4
SSN FROM SSN_TABLE
输出
SSN_________
300…54…1117
301…45…7111
459…78…9998
注 这在当数字特别大 例如 1 343 178 128 需要用逗号分隔时以及区位号码或电
话号码需要下划线分隔时特别有效
这是 SUBSTR 的另一个非常有用的功能 倘若你需要打印一个报表而其中一些列的宽度超
过了 50 个字符时 你可以使用 SUBSTR 来减小列宽以使它更接近数据的真实宽度 请看
一个下面的这两个例子
输入
SQL》 SELECT NAME JOB DEPARTMENT FROM JOB_TBL
输出
NAME______________________________________________________________
JOB_______________________________DEPARTMENT______________________
ALVIN SMITH
VICEPRESIDENT MARKETING
1 ROW SELECTED。
分析
注意 这几列已经换行显示了 这例得阅读变行非常困难 现在试一下下边的 SELECT
语句
输入
SQL》 SELECT SUBSTR(NAME; 1;15) NAME; SUBSTR(JOB;1;15) JOB;
EMAIL wyhsillypig@163。 89
…………………………………………………