罗家艮
侠客
侠客
  • UID486
  • 粉丝1
  • 关注0
  • 发帖数3
阅读:4905回复:0

关系型数据库的区别

楼主#
更多 发布于:2019-04-28 22:33


分页差别



Oracle



ROWNUM查询分页




/*

* firstIndex:起始索引

* pageSize:每页显示的数量

* sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句

*/
select * from(select a.*,ROWNUM rn from(sql) a
where ROWNUM<=(firstIndex+pageSize)) where rn>firstIndex

 




row_number()解析函数分页查询




/*

*
firstIndex:
起始索引

*
pageSize:
每页显示的数量

*
orderColumn:
排序的字段名

* sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句

*/
select * from(select * from(select
t.*,row_number() over(order by orderColumn) as rownumber from(sql) t) p where
p.rownumber>firstIndex) where rownum<=pageSize

 




MySQL




/*

* sql:可以是单表的查询语句,也可以是多表的联合查询语句

* firstIndex:其实的索引

* pageSize:每页显示的记录数

*/

select o.* from (sql) o limit
firstIndex,pageSize

 




SqlServer




/*

* firstIndex:起始索引

* pageSize:每页显示的数量

* orderColumn:排序的字段名

* sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句

*/

select top pageSize o.* from (select
row_number() over(order by orderColumn) as rownumber,* from(sql) as o where
rownumber>firstIndex;


 




日期字段处理差别



Oracle




获取系统当前时间
SYSDATE()
字符 -> 日期
to_date('2017-05-19 00:00:00','yyyy-mm-dd
hh24:mi:ss')

日期 -> 字符
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss ')
 




MySQL




获取系统当前时间
1now()函数以('YYYY-MM-dd HH:mm:ss')返回当前的日期时间,可以直接存到DATETIME字段中

2CURDATE()函数以'YYYY-MM-dd'的格式返回今天的日期,可以直接存到DATE字段中

3CURTIME()函数以'HH:mm:ss'的格式返回当前的时间,可以直接存储到TIME字段中
字符 -> 日期
str_to_date('2017-05-20 00:00:00','%Y-%m-%d %H:%i:%s')
日期 -> 字符
date_format(now(), '%Y-%m-%d %H:%i:%s')




SqlServer




DateTime的默认格式就是yyyy-mm-dd hh:mi:ss: mmm
获取系统当前时间
GETDATE()
字符 -> 日期
SELECT CONVERT(datetime,'11/1/2003',101);
结果:2003-11-01 00:00:00.000
日期 -> 字符
SELECT CONVERT(varchar(100), GETDATE(), 101);
结果:05/09/2011
Convert()函数,  3个参数就是用来设置日期类型数据的显示样式的, 如:
101   mm/dd/yyyy
120   yyyy-mm-dd hh:mi:ss
120   yyyy-mm-dd hh:mi:ss.SSS
游客

返回顶部