zoukankan      html  css  js  c++  java
  • Oracle,mysql,sqlserver,postgresql语句几点比較

    1.分页

    Oracle: SELECT * FROM(SELECT A.*, ROWNUM RN FROM (select T.* from sj_receiptinfo t WHERE t.TAXNO LIKE CONCAT('%', CONCAT(?, '%')) order by t.id desc) A WHERE ROWNUM <= ?

    )WHERE RN > ?


    mysql:  select * from tableName where 条件 limit (当前页码*页面容量-1) , 页面容量pagesize


    sqlServer: SELECT w2.n, w1.* FROM ARTICLE w1,(   SELECT TOP 1030 row_number() OVER (ORDER BY YEAR DESC, ID DESC) n, ID FROM ARTICLE) w2 WHERE w1.ID = w2.ID AND w2.n > 1000 ORDER BY w2.n ASC 


    postgresql:select * from xxx limit pagesize offset offsetNum ; 

    pagesize是固定的,即每页显示多少记录。

    offsetNum=(当前页数-1)*pagesize



    2.查询头5条记录

    Oracle: SELECT * FROM PersonsWHERE ROWNUM <= 5

    mysql:		SELECT * FROM Persons LIMIT 5
    sqlServer:	SELECT TOP 2 * FROM Persons
    postgresql:SELECT * FROM Persons LIMIT 5。跟mysql一样
    
    
    
    
    3.模糊查询
    Oracle:select T.* from sj_receiptinfo t WHERE t.TAXNO LIKE CONCAT('%', CONCAT(?

    , '%')) 

    mysql:select T.* from sj_receiptinfo t WHERE t.TAXNO LIKE CONCAT('%', ?, '%') 

    sqlServer:
    select T.* from sj_receiptinfo t WHERE t.TAXNO LIKE ‘%%’
    postgresql:select *。( T .类别代码 || '-' || T .发票号码 ) AS 号码 from account where username ~* 'baidu';
    找出数据表account中全部用户名包括baidu且不区分大写和小写的用户的信息
    
    
    
    
    
    
    4.推断null
    Oracle:SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))FROM Products
    
    
    mysql:SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))FROM Products
    
    
    sqlServer:SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))FROM Products
    
    
    postgresql:SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))FROM Products
    
    
    
    
    
    
    5.插入数据
    Oracle:insert into company(id,name,parentid,ccdm) values(COMPANY_SEQ.NEXTVAL,?

    ,?,?

    )序列

    mysql:insert into person(fullName,companyName) values(?,?) 由于ID是自己主动增长auto_increment
    6.查询最大id
    Oracle:SELECT NVL(MAX(ID),0)+1 FROM REPOT_BS

  • 相关阅读:
    HDU-1272-小希的迷宫(并查集)
    HDU-1084-What Is Your Grade?
    一个好的函数(gcd)求最小公约数
    HDU-1228-A + B
    HDU-1029-Ignatius and the Princess IV
    自控力》读后感·一
    HDU-2058-The sum problem(数学题技巧型)
    HDU-1430-素数回文
    sftp
    802. 区间和
  • 原文地址:https://www.cnblogs.com/llguanli/p/6919672.html
Copyright © 2011-2022 走看看