以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  数据库系统原理课件  (http://www.njcie.com/bbs/list.asp?boardid=19)
----  [推荐]Oracle数据库PL-SQL学习资料之三——常见SQL函数  (http://www.njcie.com/bbs/dispbbs.asp?boardid=19&id=604)

--  作者:admin
--  发布时间:2008/11/21 19:11:18
--  [推荐]Oracle数据库PL-SQL学习资料之三——常见SQL函数

5 SQL函数
5、1 SUBSTR
注意位置从1开始算,最后一个参数为长度而非终止位
select substr(\'abcdefg\',2,2) from dual;
显示bc
select substr(\'abcdefg\',-2,1) from dual;
显示f
select substr(\'abcdefg\',3) from dual;
显示cdefg

5、2 SOUNDEX
返回字符串的语音表示形式
SQL> select soundex(\'asdf\') from dual;
SOUN
----
A231

5、3 INSTR
四个参数表示查找第二个字符串在字符串中的位置,第三个参数代表起始位,第四个参数代表第几次出现
SQL> select instr(\'abccbabbdcbaacb\',\'cb\',1,2) from dual;

INSTR(\'ABCCBABBDCBAACB\',\'CB\',1,2)
---------------------------------
                               10

5、4 WIDTH_BUCKET
返回第一个参数出现在第几个分段中,分段由后三个参数确定范围和步长
SQL> select 22 , width_bucket(22,1,100,10) from dual;

        22 WIDTH_BUCKET(22,1,100,10)
---------- -------------------------
        22                         3

5、5 TO_CHAR
select TO_CHAR(SYSDATE,\'DD-MON-YY HH24:MI:SS\') "RIGHT NOW" from dual;
select TO_CHAR(123456,\'L999G9G99G\') from dual;

5、6 TO_DATE
select TO_DATE(\'10/06/76\',\'mm/dd/yy\') from dual;

5、7 TO_NUMBER
select TO_NUMBER(\'$123456.7\',\'$999999.9\') from dual;

5、8 TO_TIMESTAMP
select TO_TIMESTAMP(\'10/06/76\',\'mm/dd/yy\') from dual;

5、9 其他函数
5、9、1 dump
返回字符串的详细信息,如:
select name,dump(name) from stu;

5、9、2 userenv
返回当前会话相关信息
如得到当前终端的操作系统标识符:
select userenv(\'TERMINAL\') from dual;

得到当前会话的语言类型,如:
select userenv(\'language\') from dual;

[此贴子已经被作者于2010-12-11 20:01:31编辑过]