|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MySQL: INT、TINYINTPostgreSQL: INTEGER、BIGINTOracle: NUMBER(10) (无独立INT类型)SQL Server: INT、SMALLINT
MySQL: VARCHAR(255)、TEXTPostgreSQL: VARCHAR、TEXT (不限长度!)Oracle: VARCHAR2(4000)SQL Server: NVARCHAR(MAX)
PostgreSQL: JSONB、几何类型(GIS专用)Oracle: CLOB(超大文本)、BLOBSQL Server: XML、HIERARCHYID
-- MySQLCREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY);-- PostgreSQLCREATE TABLE users (id SERIAL PRIMARY KEY);-- 或使用 GENERATED BY DEFAULT AS IDENTITYCREATE TABLE users (id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY);-- 或更严格的 GENERATED ALWAYS AS IDENTITYCREATE TABLE users (id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY);-- OracleCREATE SEQUENCE user_seq;CREATE TABLE users (id NUMBER DEFAULT user_seq.nextval PRIMARY KEY);-- SQL ServerCREATE TABLE users (id INT IDENTITY(1,1) PRIMARY KEY);
-- MySQL/PostgreSQLSELECT * FROM table LIMIT 10 OFFSET 20;-- OracleSELECT * FROM (SELECT t.*, ROWNUM rn FROM (SELECT * FROM table ORDER BY id) t WHERE ROWNUM <= 30) WHERE rn > 20;-- SQL ServerSELECT * FROM table ORDER BY idOFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;
-- MySQLSELECT CONCAT(name, '来自', city); -- CONCAT遇到NULL时会返回NULL!-- PostgreSQL/OracleSELECT name || '来自' || city;-- SQL ServerSELECT name + '来自' + city;
-- MySQL/PostgreSQL/SQL ServerSELECT SUBSTRING('HelloWorld', 2, 5); -- 输出 elloW-- OracleSELECT SUBSTR('HelloWorld', 2, 5) FROM dual; -- 输出 ellow
想了解更多干货,可通过下方扫码关注

可扫码添加上智启元官方客服微信👇

17认证网








