Oracle、MySql、SqlServer三者查询语句对比

Oracle

   jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:test
分页

     select * from
     (select t.*,rownum as rowno from TABLE1 )
     where rowno between 10 and 20

时间格式

    select now();
    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   //日期转化为字符串   
    select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年   
    select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月   
    select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日   
    select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时   
    select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分   
    select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒
    to_date 同样

    日期+ 1 年          SYSDATE + INTERVAL '1' YEAR
    日期+ 1 月          SYSDATE + INTERVAL '1' MONTH
    日期+ 1 日          SYSDATE + INTERVAL '1' DAY
    日期+ 1 时          SYSDATE + INTERVAL '1' HOUR
    日期+ 1 分          SYSDATE + INTERVAL '1' MINUTE
    日期+ 1 秒          SYSDATE + INTERVAL '1' SECOND
    日期+ 1 日1 时1 分    SYSDATE + INTERVAL '1 1:1' DAY TO MINUTE
如果计算的是 DATE 类型,我们还可以采用如下的方式。

DATE+ 1 日          SYSDATE + 1
DATE+ 1 时          SYSDATE + 1/(1*24)
DATE+ 1 分          SYSDATE + 1/(1*24*60)
DATE+ 1 秒          SYSDATE + 1/(1*24*60*60)
DATE+ 1 日1 时1 分    SYSDATE + 1 + 1/(1*24) + 1/(1*24*60)

select (date '2015-04-10' - date '2014-03-11') from dual
MySql

jdbc.url=jdbc:mysql://127.0.0.1:3306/test
分页

    select * from table WHERE … LIMIT 10; #返回前10行
    select * from table WHERE … LIMIT 0,10; #返回前10行
    select * from table WHERE … LIMIT 10,20; #返回第10-20行数据

时间格式

select date_format(now(),'%Y-%m-%d %h:%i:%s') as '日期'
select count(*) from table   where time >='2018-04-13 16:55:00'

select date_add(now(), interval 1 day); -- add 1 day
select date_add(now(), interval 1 hour); -- add 1 hour
select date_add(now(), interval 1 minute); -- ...
select date_add(now(), interval 1 second);
select date_add(now(), interval 1 microsecond);
select date_add(now(), interval 1 week);
select date_add(now(), interval 1 month);
select date_add(now(), interval 1 quarter);
select date_add(now(), interval 1 year);

select datediff('2008-08-08', '2008-08-01'); -- 7
select datediff('2008-08-01', '2008-08-08'); -- -7
select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08
select timediff('08:08:08', '00:00:00'); -- 08:08:08
注意:timediff(time1,time2) 函数的两个参数类型必须相同。

SqlServer

jdbc.url=jdbc:sqlserver://127.0.0.1:1433;databasename=test
分页

SELECT TOP 10 *  FROM table 
时间格式

    select convert(nvarchar(MAX), getdate(), 20);   '2018-09-26 15:44:10'
    Select CONVERT(varchar(100), getdate(), 23);    '2018-09-26'
    select CONVERT(varchar(12) , getdate(), 112 )   '20180926'
    Select CONVERT(varchar(100), getdate(), 24);    '15:44:10'
    Select CONVERT(varchar(100), getdate(), 8);     '15:44:10'

    SELECT *  FROM tablename WHERE   time>='2018/1/1 11:45:00'  ORDER BY  time
    SELECT *  FROM tablename WHERE   time>='2018-01-01 11:45:00'  ORDER BY  time

DateDiff (interval,date1,date2)   以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date)   以interval指定的方式,加上number之后的日期
DatePart (interval,date)    返回日期date中,interval指定部分所对应的整数值
DateName (interval,date)   返回日期date中,interval指定部分所对应的字符串名称
参数interval的设定值如下:
值缩写(Sql Server) (Access 和 ASP) 说明

Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q   季 1 ~ 4
Month Mm m   月1 ~ 12
Day of year Dy y  一年的日数,一年中的第几日 1-366
Day Dd d   日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww  周,一年中的第几周 0 ~ 51
Hour Hh h   时0 ~ 23
Minute Mi n  分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999
Access 和Asp中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似。
SQL Server日期函数举例

1.GetDate() 用于sql server :select GetDate()
2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒
DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天
3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
DatePart('d','2005-7-25 22:56:32')返回值为 25即25号
DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天
DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年
SqlDbx.exe

PLSQL Developer

MySQL Workbench 6.3 CE


sql与oracle函数比较已经经典的sql语句大全
这是sql与oracle函数比较已经经典的sql语句大全,里面包含了Oracle常用函数与sql常用函数对比翻译,oracle与sqlserver字符、时间函数的不同总结,SQLServer和Orac
--------------------- 
作者:tianruozhaomi 
来源:CSDN 
原文:https://blog.csdn.net/tianruozhaomi/article/details/82850047 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/xiao190128/article/details/83306401