1、) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A a ZERO SPACE- - - -65 97 48 32赵) zhao,length() leng from dual; ZHAO LENG- - 54740 1CHR(NCHAR)给出整数,返回对应字符。如:select chr(54740) ,chr(65) from dual;CH C- -赵 ACONCAT(,select concat(010-,8801 8159)|转23 电话 from dual;电话-010-8801 8159转23INITCAP(返回字符串c1
2、 并第一个字母变为大写。例如:select initcap(simth) upp from dual;UPP-SimthINSTR(, )在一个字符串中搜索指定的字符,返回发现指定的字符的位置。C1: 被搜索的字符串C2: 希望搜索的字符串I: 搜索的开始位置,缺省是1J: 出现的位置,缺省是1。SELECT INSTR (Oracle Training, ra, 1, 2) Instring FROM DUAL; Instring- 9INSTRB(除了返回的字节外 ,与INSTR 相同,LENGTH( )返回字符串 c 的长度。select length(oracle) from dual
3、;LENGTH(ORACLE- 6LENGTHB( 以字节返回字符串的字节数。select lengthb(中),length(LENGTHB() LENGTH(- - 2 1LOWER ( 返回字符串并将所有字符变为小写。select lower(AaBbCcDdAaBbCcDd from dual;AaBbCcDd-aabbccddUPPER( select upper(AABBCCDD-RPAD和LPAD(粘贴字符)RPAD(string,Length,set)LPAD(string,Length, RPAD在列的右边粘贴字符; LPAD在列的左边粘贴字符。select RPAD(Cit
4、y,10,.) city from dual; CITYCity. (即不够10个字符用填满)LTRIM(左截断)RTRIM(右截断) 函数LTRIM (string ,set)Left TRIM (左截断)删去左边出现的任何set 字符, set缺省为空格。RTRIM (string ,set)Right TRIM (右截断)删去右边出现的任何set 字符, set缺省为空格。SELECT RTRIM (Mother Theresa, TheThe) Example FROM DUAL;EXAMPLE-Mother Theresa,SUBSTR Substr(string,start,Cou
5、nt)取子字符串中函数对字串(或字段),从start字符 开始,连续取 count 个字符并返回结果,如果没有指count则一直取到尾。select substr(ABCDEFG,2,3) from dual;SUB-BCDREPLACE (string ,string_in,string_out)String:希望被替换的字符串或变量。String_in: 被替换字符串。String_out: 要替换字符串。SELECT REPLACE (OracleOrMir-MiracleTRIM( string )去掉前面及尾面的字符;SELECT TRIM ( 98723489 98723489二、
6、 数值函数函数说明ABS(value)CEIL(value)COS(value)COSH(value)EXP(value)FLOOR(value)LN(value)LOG(value)MOD(value,divisor)POWER(value,exponent)ROUND(value,precision)SIGN(value)SIN(value)SINH(value)SQRT(value)TAN(value)TANH(value)TRUNC(value,按precision)VSIZE(value)绝对值大于或等于value的最小整数余弦反余弦e的value次幂小于或等于value的最大整数v
7、alue的自然对数value的以10为底的对数求模value的exponent次幂按precision 精度4舍5入value为正返回1;为负返回-1;为0返回 0.value 的平方根正切反正切按照precision 截取value返回value在ORACLE的存储空间大小CEIL( 返回大于或等于给出数字的最小整数。 select ceil(3.14159) from dual;CEIL(3.14159)4FLOOR ( 对给定的数字取整数,如:select floor(123.45),floor(45.56) from dual;FLOOR(123.45) FLOOR(45.56)123
8、 45ROUND(value,precision) 按照指定的精度进行舍入;select round(55.5),round(-55.5),trunc(55.5),trunc(-55.5)from dual;round(55.5) round(-55.5) trunc(55.5) trunc(-55.5)- - - - 56 -56 55 -55TRUNC(value,precision) 按照指定的截取一个数。SELECT round(124.16666, -2) round1,round(124.16666,2) round2 ,TRUNC (124.16666, -2) trunc1,
9、trunc(124.16666,2) trunc2 from dual;ROUND1 ROUND2 TRUNC1 TRUNC2 100 124.17 100 124.16SIGN(取数字n 的符号,大于0 返回 1;小于0 返回-1; 等于0 返回0。 如:例:select sign(123), sign(-100),sign(0) from dual;sign(123) sign(-100) sign(0)- - - 1 -1 0三、 日期函数Oracle 用到的日期函数是: 函 数 描 述ADD_MONTH在日期date上增加count个月GREATEST(date1,date2,. .
10、.)从日期列表中选出最晚的日期LAST_DAY( date )返回日期date 所在月的最后一天LEAST( date1, date2, . . .)从日期列表中选出最早的日期MONTHS_BETWEEN(date2,date1)给出 Date2 - date1 的月数(可以是小数)NEXT_DAY( date,day)给出日期date之后下一天的日期,这里的day为星期,如: MONDAY,Tuesday等。ADD_MONTHS( 增加月份和减去月份,如:select add_months(SYSDATE,2) Example from dual;05-12月-08select to_cha
11、r(add_months(to_date(19971201yyyymmdd), -1 ),yyyy-mm-dd) Example from dual;1997-11-01LAST_DAY( date ) 返回日期date 所在月的最后一天,如:select sysdate,LAST_DAY(sysdate) Example from dual;SYSDATE EXAMPLE05-10月-08 31-10月-08给出 Date2 - date1 的月数(可以是小数);select months_between(19-12月-199919-3月-2000 EXAMPLE -3select mont
12、hs_between(to_date(2005.05.20yyyy.mm.dd),to_date(2000.05.20) Example from dual; 60NEXT_DAY( date,day) 给出日期date和星期x之后计算下一星期x的日期,这里的day为星期,如:但在中文环境下,要写成星期x这样的格式,如:select SYSDATE,next_day(SYSDATE,星期五SYSDATE NEXT_DAY(S05-10月-08 10-10月-08 SYSDATE 用来得到系统的当前日期,如:select to_char(sysdate,dd-mon-yyyy day) toda
13、y from dual;TODAY-05-10月-2008 星期日四、 转换函数TO_CHAR转换日期格式到字符串TO_DATE按照指定的格式将字符串转换到日期型TO_NUMBER将数字字串转换到数字TO_CHAR(date,format)根据format 重新格式日期date的格式。yyyy/mm/dd hh24:mi:ssTO_CHAR(SYSDATE,YY2001/05/18 23:05:36日期格式比较多,详细内容请参考原版资料。下面给出常用的日期格式代码:日期格式代码表日期代码格式说明例子AD 或 BCAD=Anno Domini公元,BC=Before Christ公元前。不带点的
14、公元或公元前YYYY AD=1999 ADA.D. 或B.C.带点的公元或公元前YYYY A.D.=1999 A.D.AM或PMAM= ante meridiem 上午,PM=post meridiem下午。不带点的上午或下午HH12AM=09AMA.M.或P.M.带点的上午或下午HH12A.M.=09A.M.DY星期几的缩写Mon,Tue,.DAY星期几的全拼Monday,Tuesday,.D一周的星期几,星期天=1,星期六=71,2,3,4,5,6,7DD一月的第几天,1311,2,. 31DDD一年的第几天,13661,2,3,.366J公元前的第几天(从公元前4712起 ?245151
15、4,2451515,.W一个月的第几周,1 51,2,3,4,5WW,IW一年的第几周,一年的ISO的第几周1,2,3,4,. 52MM两为数的月01,02,03,.12MON月份的缩写Jan,Feb,Mar ,.DecMONTH月份的全拼January,February,.RM罗马数字的月份,I XIII,II,III,IV,.XIIYYYY,YYY,YY,Y四位数的年,三位数的年1999,999,99,9YEAR年的全拼Nineteen Ninety-nineSYYYY如果是公元前(BC),年份前负号-1250RR当前年份的后两位数字01代表2001年HH,HH1212小时制,1121,2
16、,3,.12HH2424小时制,0230,1,2,3,.23MI一小时中的第几分,0590,1,2,3.59SS一分中的第几秒,0590,1,2,3,.59SSSSS一天中的第几秒,0863990,1,2,3,.86399./-;:标点符号表示法文字显示text引号表示法TO_DATE(string,format) 将一和字串转换为ORACLE的日期。Insert into demo(demo_key,date_col)Values(1 , to_date(04-Oct-1999, DD-Mon-yyyy) );TO_NUMBER(将给出的字符转换为数字,如:SELECT TO_NUMBER
17、(1947) FROM DUAL;五、 其它函数GREATEST( 返回一组表达式中的最大值,即比较字符的编码大小。 select greatest(AAABACGR-AC啊安天天即 “天”的编码比“安”和“啊”都大。LEAST ( 返回一组表达式中的最小值,即比较字符的编码大小。 select least(LE啊UID 函数返回标识当前用户的唯一整数,如:USER 函数返回当前用户的名字,如:systemselect user,uid from dual;USER UID- -SYSTEM 5NVL函数NVL(value,substitute) value为空时以substitute代替se
18、lect empno,sal,comm,sal+comm,sal+nvl(comm,0) from emp;EMPNO SAL COMM SAL+COMM SAL+NVL(COMM,0)- - - - - 7369 800 800 7499 1600 300 1900 1900 7521 1250 500 1750 1750 7566 2975 2975 7654 1250 1400 2650 2650 7698 2850 2850 7782 2450 2450 7788 3000 3000 7839 5000 5000 7844 1500 0 1500 1500 7876 1100 1100 7900 950 950 7902 3000 3000 7934 1300 1300
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1