论坛首页 综合技术论坛

oracle 内置函数(上)

浏览 8900 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-01-17  
SQL中的单记录函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii('j') j,ascii('o') o,ascii('a') a,ascii(' n') n from dual;

         J          O          A          N
---------- ---------- ---------- ----------
       106        111         97         32




2.CHR
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;

ZH C
-- -
赵 A

3.CONCAT
连接两个字符串;
SQL> select concat('010-','88888888')||'转23'  高乾竞电话 from dual;

高乾竞电话
----------------
010-88888888转23

4.INITCAP
返回字符串并将字符串的第一个字母变为大写;
SQL> select initcap('smith') upp from dual;

UPP
-----
Smith


5.INSTR(C1,C2,I,J)
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1    被搜索的字符串
C2    希望搜索的字符串
I     搜索的开始位置,默认为1
J     出现的位置,默认为1
SQL> select instr('oracle traning','ra',1,2) instring from dual;

INSTRING
---------
        9


6.LENGTH
返回字符串的长度;
SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;

NAME   LENGTH(NAME) ADDR             LENGTH(ADDR)       SAL LENGTH(TO_CHAR(SAL))
------ ------------ ---------------- ------------ --------- --------------------
高乾竞            3 北京市海锭区                6   9999.99                    7



7.LOWER
返回字符串,并将所有的字符小写
SQL> select lower('AaBbCcDd')AaBbCcDd from dual;

AABBCCDD
--------
aabbccdd


8.UPPER
返回字符串,并将所有的字符大写
SQL> select upper('AaBbCcDd') upper from dual;

UPPER
--------
AABBCCDD



9.RPAD和LPAD(粘贴字符)
RPAD  在列的右边粘贴字符
LPAD  在列的左边粘贴字符
SQL> select lpad(rpad('gao',10,'*'),17,'*')from dual;

LPAD(RPAD('GAO',1
-----------------
*******gao*******
不够字符则用*来填满


10.LTRIM和RTRIM
LTRIM  删除左边出现的字符串
RTRIM  删除右边出现的字符串
SQL> select ltrim(rtrim('   gao qian jing   ',' '),' ') from dual;

LTRIM(RTRIM('
-------------
gao qian jing

select rtrim(ltrim('$$$software@@','$'),'@') from dual;

RTRIM(LTRIM('$$$SOFTWARE@@','$
------------------------------
software


11.SUBSTR(string,start,count)
取子字符串,从start开始,取count个
SQL> select substr('13088888888',3,8) from dual;

SUBSTR('
--------
08888888


12.REPLACE('string','s1','s2')
string   希望被替换的字符或变量
s1       被替换的字符串
s2       要替换的字符串
SQL> select replace('he love you','he','i') from dual;

REPLACE('H
----------
i love you


13.SOUNDEX
返回一个与给定的字符串读音相同的字符串
SQL> create table table1(xm varchar(8));
SQL> insert into table1 values('weather');
SQL> insert into table1 values('wether');
SQL> insert into table1 values('gao');

SQL> select xm from table1 where soundex(xm)=soundex('weather');

XM
--------
weather
wether


14.TRIM('s' from 'string')
LEADING   剪掉前面的字符
TRAILING  剪掉后面的字符
如果不指定,默认为空格符



TRIM('S'FROM'STRING')
---------------------
tring

15.ABS
返回指定值的绝对值
SQL> select abs(100),abs(-100) from dual;

ABS(100) ABS(-100)
--------- ---------
      100       100



   发表时间:2008-06-20  
你说的都早就过时了。
0 请登录后投票
   发表时间:2008-06-20  
我在开发中用过以下函数

Abs(n)
Add_months(date, months)
Avg(expr)
Floor(n)
Greatest(expr1, expr2, ...)
Instr(char, search_string, startpos, occurrence)
Last_day(date)
Least(expr1, expr2, ...)
Length(char)
Lengthb(char)
Lower(char)
LPad(char, length, pad_string)
LTrim(char, set)
Max(expr)
Min(expr)
Mod(n, divisor)
Months_between(high_date, low_date)
Nvl(expr1, expr2)
Replace(char, search_string, replacement_string)
Round(n, places)
RPad(char, length, pad_string)
RTrim(char, set)
Sign(n)
Sqrt(n)
Substr(char, startpos, length)
Substrb(char, startpos, length)
Sum(expr)
SYSDATE
To_char(expr, format, nlsparam)
To_date(char, format, nlsparam)
To_LOB(long_column)
To_number(char, format, nlsparam)
Trim(Leading|Trailing|Both trim_character from trim_source)
Upper(char)
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics