本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数。分二类介绍,分别是:
著名函数篇-经常用到的函数
非著名函数篇-即虽然很少用到,但某些情况下却很实用
注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略,fmt表示格式。
单值函数在查询中返回单个值,可被应用到select,where子句,start with以及connect by 子句和having子句。
(一).数值型函数(Number Functions)
数值型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点,诸如:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点。
1、MOD(n1,n2) 返回n1除n2的余数,如果n2=0则返回n1的值。
例如:SELECT MOD(24,5) from DUAL;
2、ROUND(n1[,n2]) 返回四舍五入小数点右边n2位后n1的值,n2缺省值为0,如果n2为负数就舍入到小数点左边相应的位上(虽然oracle documents上提到n2的值必须为整数,事实上执行时此处的判断并不严谨,即使n2为非整数,它也会自动将n2取整后做处理,但是我文档中其它提到必须为整的地方需要特别注意,如果不为整执行时会报错的)。
例如:SELECT ROUND(23.56),ROUND(23.56,1),ROUND(23.56,-1) from DUAL;
3、TRUNC(n1[,n2] 返回截尾到n2位小数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上。
例如:SELECT TRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1) from DUAL;
(二).字符型函数返回字符值(Character Functions Returning Character Values)
该类函数返回与输入类型相同的类型。
? 返回的CHAR类型值长度不超过2000字节;
? 返回的VCHAR2类型值长度不超过4000字节;
如果上述应返回的字符长度超出,oracle并不会报错而是直接截断至最大可支持长度返回。
? 返回的CLOB类型值长度不超过4G;
对于CLOB类型的函数,如果返回值长度超出,oracle不会返回任何错误而是直接抛出错误。
1、LOWER(c) 将指定字符串内字符变为小写,支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB类型
例如:SELECT LOWER('WhaT is tHis') from DUAL;
2、UPPER(c) 将指定字符串内字符变为大写,支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB类型
例如:SELE
因为公司的掌上城市系统在多个地势同时上线,而为了让每个城市的3G快讯具有地势特色性,每个地势有自己单独的数据库系统,而每个地势的快讯又一些共同的,譬如突然出了一条国际新闻,那么是不是每个地势的后台编辑都要录入一遍,这样无疑是做了许多无用功,所以公司考虑架设一个总站,总站上有专门的人负责,每天负责录入一 ......