ITPub博客

首页 > 数据库 > Oracle > SQL入门之2 函数1

SQL入门之2 函数1

原创 Oracle 作者:wmlm 时间:2007-04-03 12:05:28 0 删除 编辑
字符串函数 数字函数[@more@]

-- 常规的多表联接
select title,firstname,lastname
from customers,orders,orderitems,books
where customers.customer#=orders.customer#
and orders.order#=orderitems.order#
and orderitems.isbn=books.isbn
order by title;
-- 使用join进行多表联接
select title,firstname,lastname
from customers join orders on customers.customer#=orders.customer#
join orderitems on orders.order#=orderitems.order#
join books on orderitems.isbn=books.isbn
order by title;

-- 在外部联接时不能使用OR 或 IN

-- 单行函数
-- 字符串函数
substr('abcdefg',-2, 2) ==> 'ef'
lpad('2',3,'*') ==> '**2'
ltrim('abcdefg','abc') ==> 'defg'
ltrim('bcdefg','abc') ==> 'defg'
ltrim('abcdefg','bc') ==> 'abcdefg'
replace('abcdefg','b','888') ==> 'a888cdefg'
concat('ab','cdefg') ==> 'abcdefg'
concat(concat('ab','cd'),'8') ==> 'abcd8'
-- 数字函数
ROUND(23.333,2) ==> 23.33
ROUND(123456.78,-2) ==> 123500
TRUNC(23.338,2) ==> 23.33
TRUNC(123456.78,-2) ==> 123400
-- 日期函数
-- 差几个月
MONTHS_BETWEEN(SYSDATE,SYSDATE+233)==> -7.6129032
-- 7个月之前
add_months(sysdate,-7) 03-SEP-06
-- 7个月之后
add_months(sysdate,7) 03-NOV-07
-- 下周一
next_day(sysdate,'monday') 09-APR-07

/**
D 一周中的第几天
DD 一月中的第几天
DDD 一年中的第几天
B。C A。D 公元前 公元后

*/
nvl2('a',2,3) --如果不为空到2 为空到3,
-- 9的个数要给够,否则显示一堆#
to_char(12345.22,'999,999.99') 12,345.22
to_char(123.22,'0000009,999.99') 0000000,123.22

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/271063/viewspace-908461/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: SQL入门之3 函数2
请登录后发表评论 登录
全部评论

注册时间:2008-04-08

  • 博文量
    398
  • 访问量
    3716772