今天主要看了下sql语句在oracle中的实现
一、oracle中实现类似mysql中的分段搜索规定条数的记录
在mysql中可以用以下语句得到从第10条记录开始的前10条记录:
select * from tables limit 10 offset 10;
在oracle中实现类似的结果,其sql语句:
select * from (select t.*,rownum as num from tables t) where num > 10 and num <20;
二、在oracle数据库中新建用户时,权限设置:在 role privelidges:中选择两个权限,分别为:connect,resource;
三、在oracle中将日期,按一定的格式转换为字符串
在mysql中将日期按一定的形式转换有一个格式化函数,并且转换之后,便可直接与字符串进行比较,例如:
SELECT * FROM calls WHERE (user_id=1 and DATE_FROMAT(start_time,'yyyy-mm-dd')='2008-11-12') ORDER BY start_time desc
而在oracle中要用到to_char函数——to_char(date,'yyyy-mm-dd'),上述sql语句在oracle中对应为:
SELECT * FROM calls WHERE (user_id=1 and to_char(start_time,'yyyy-mm-dd')='2008-11-12') ORDER BY start_time desc
一、oracle中实现类似mysql中的分段搜索规定条数的记录
在mysql中可以用以下语句得到从第10条记录开始的前10条记录:
select * from tables limit 10 offset 10;
在oracle中实现类似的结果,其sql语句:
select * from (select t.*,rownum as num from tables t) where num > 10 and num <20;
二、在oracle数据库中新建用户时,权限设置:在 role privelidges:中选择两个权限,分别为:connect,resource;
三、在oracle中将日期,按一定的格式转换为字符串
在mysql中将日期按一定的形式转换有一个格式化函数,并且转换之后,便可直接与字符串进行比较,例如:
SELECT * FROM calls WHERE (user_id=1 and DATE_FROMAT(start_time,'yyyy-mm-dd')='2008-11-12') ORDER BY start_time desc
而在oracle中要用到to_char函数——to_char(date,'yyyy-mm-dd'),上述sql语句在oracle中对应为:
SELECT * FROM calls WHERE (user_id=1 and to_char(start_time,'yyyy-mm-dd')='2008-11-12') ORDER BY start_time desc