Oracle有哪些常用函数?
的有关信息介绍如下:Oracle常用函数:
1、Substr 截取函数
Select productid 产品编号,substr(productid,1,6) as 截取后的编号 from 表名 //查询产品编号从第一位开始的后6位
2、Distinct 去除重复函数
Select distinct(productid) 产品编号 from 表名 //查询产品编号去除重复的编号
3、Order By 排序函数 asc(默认) desc 默认null 最大 。。。。。。order by 列名 asc (desc) nulls first 可以将null 放在首位
4、Null 查询时 不能使用”=” 而用 is null 或 is not null 。。。。。。where price is null (is not null)
5、Group by 他不属于where 语句 故位置不固定 他不能用在where函数中 Select avg(price) from 表名 group by 类型,厂家
6、Having 一般与group by 公用的限制语句 他不与单个值有关而是与组有关
Select category, avg(productprice) 产品价格 from product group by category having avg(productprice)>2000
7、Inner join……on 内连接语句
Select p.productname, p.productprice, c.categoryid from productinfo p , cageoryinfo c where p.category = c.categoryid 等价于
Select p.productname, p.productprice, c.categoryid from productinfo p inner join cageoryinfo c on p.category = c.categoryid
8、Abs 取绝对值的函数 Select Asb(-100) from dual
9、mod 取余函数
Select mod(10,6) from dual 值为4 若b为0 返回A A b
10 、sign 返回数的符号 正为1 0为0 负为-1
Select sign(‘9’),sign(-9),sign(10),sign(0.00) from dual 返回为1,-1,1,0
11、cell(n) 返回>=n的最小整数 要求n必须是十进制的数
Floor(n) 返回<=n的最大整数 要求n 必须是十进制的数
12、sort(n) 返回n的平方根 当n小于0是返回nan Power(n1,n2) 返回 n1的n2次幂 Exp(n) 返回e的n次幂
Log(n1,n2) 返回以n1为底n2的对数 n1不为0,1 Ln(n) 返回n的自然对数 n不为 0,1
13、round(n,interger) 四舍五入n的interger位 若interger为正保留小数点后interger位四舍五入,若interger为负向小数点前数interger位四舍五入 如round(155,-2) 结果为200 。
Trunc(n,interger) 截取n的interger位 若interger为正向小数点后截取interger位,若interger为负向小数点前截取interger为 如 trunk(155,-2) 结果为100
14、ASCII(char)返回参数首字母的ASCII码值
15、lengtch(char) 返回字符串char 的长度
16、 substr(‘给定的字符串’,A,B) A表示从第几位开始截 B表示截几位,如果A为负值 从右边数到A位开始向后截B位
17、connect(char1,char2)连接字符串 把char1和char2连接起来 connect(‘我的’,‘测试’)等价于‘我的’||‘测试’
18、cast 数据类型转换函数
Select cast(’123’ as interger),cast(123 as varchar2(8)) from dual 结果为123 123
19、chartorowid 函数 将 char类型转换为ROWID 类型 但是最后长度必须满足rowid的标准18位
Rowidtochar 函数 将rowid 类型转换为char 因为rowid长度为18,故转换成的字符串也是18位。
20、to_char(number) 将数字类型转换成字符类型 To_char(data) 将日期转换成字符型
21、lnnvl (条件) 排除条件得到指定条件之外的函数
Select *from productinfo where lnnvl(quantity>=70) 获得quantity小于70的数据
22、nvl(expr1,expr2) 如果expr1为null 则返回expr2 否则返回expr1 替换时常用 Select productname,nvl(quantity,0) from productinfo 表示若quantity为NULL返回0否则返回quantity的值
Nvl2(expr1,expr2,expr3) 意思一样当expr1为空返回expr3,不为空返回expr2