各種數據庫sql比較 postgres、mysql、oracle、sqlserver

日期差異:

postgres: current

mysql: now()

oracle: sysdate

postgres: now()

查序列差異:

if (dialect instanceof OracleDialect) {
            query = session.createSQLQuery("select " + seqName + ".nextval as seq from dual");
        } else if (dialect instanceof MySQLDialect) {
            query = session.createSQLQuery("SELECT seq(?)");
            query.setParameter(0, seqName);
        } else if (dialect instanceof InformixDialect) {
            query = session.createSQLQuery("select " + seqName + ".nextval as seq from sysmaster\\:sysdual");
        } else if (dialect instanceof PostgreSQL81Dialect) {
            query = session.createSQLQuery("select nextval( '" + seqName + "') as seq;");
        } else {
            session.beginTransaction();
            session.createSQLQuery("update seq set val=val+1 where name=?").setParameter(0, seqName).executeUpdate();
            session.getTransaction().commit();
            query = session.createSQLQuery("select val from seq where name=?");
            query.setParameter(0, seqName);
        }

sql函數差異:

oracle不支持limit

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章