共通データベース差動制御命令のサポート
HTTPS:// www.cnblogs.com/WuXuanKun/p/5317124.html オスカー神舟Universal Databaseは実際にそこ..です
共通データベース差動制御命令のサポート
カテゴリ |
アイテム |
オラクル |
SQLServerの2005年(+) |
MYSQLの4.x |
OSCAR |
DB2 |
サービス |
JDBCポート |
1521 |
1433(パッチが必要です) |
3306 |
2003 |
|
フィールドタイプ |
文字 |
VARCHAR2 |
VARCHAR |
VARCHARまたはTEXT |
VARCHAR |
VARCHAR |
数の |
数 |
NUMERIC |
DECIMAL |
NUMERIC / DECIMAL |
NUMERIC |
|
ブーリアン |
NUMBER(1) |
NUMERIC(1) |
DECIMAL(1) |
NUMERIC(1) |
NUMERIC |
|
日付時刻 |
日付 |
日付時刻 |
日付時刻 |
TIMESTAMP (日付のみ格納日付の値) |
日付 |
|
機能 |
時間のシステム機能 |
SYSDATE |
GETDATE() |
今() |
GETDATE()やCURRENT_DATE |
現在の日付 |
長い日付変換機能 |
TO_DATE( '值'、 'YYYY-MM-DD HH24:MI:SS') |
「値」 |
「値」 |
TO_TIMESTAMP( '值'、 'YYYY-MM-DD HH24:MI:SS') |
「値」 |
|
短い日付変換機能 |
TO_DATE( '值'、 'YYYY-MM-DD') |
「値」 |
「値」 |
TO_DATE( '值'、 'YYYY-MM-DD') |
「値」 |
|
SQLの構文 |
フィールドを作成します。 |
ALTER TABLEを追加... ... |
ALTER TABLEを追加... ... |
ALTER TABLEを追加... ... |
ALTER TABLEを追加... ... |
ALTER TABLEの...列を追加します... |
フィールドを変更します。 |
ALTER TABLEの... MODIFY(...) |
ALTER TABLEの...列を変更... |
ALTER TABLEの... CHANGE ... |
ALTER TABLEの...列を変更... |
ALTER TABLEの...列を変更... |
|
フィールドを削除します |
ALTER TABLEの...列を削除 |
TABLE ... DROPの列を変更... |
ALTER TABLEの... DROP ... |
ALTER TABLEの... DROP ... |
|
|
テーブルを作成します。 |
CREATE TABLEを...() |
CREATE TABLEを...() |
CREATE TABLEを...() |
CREATE TABLEを...() |
CREATE TABLEを...() |
|
通常のインデックスを作成します。 |
CREATE INDEX ... ON ...() |
CREATE INDEX ... ON ...() |
CREATE INDEX ... ON ...() |
CREATE INDEX ... ON ...() |
CREATE INDEX ... ON ...() |
|
一意のインデックスを作成します。 |
CREATE UNIQUE INDEX ... ON ...() |
CREATE UNIQUE INDEX ... ON ...() |
CREATE UNIQUE INDEX ... ON ...() |
CREATE UNIQUE INDEX ... ON ...() |
CREATE UNIQUE INDEX ... ON ...() |
|
インデックスの削除 |
DROP INDEXの索引名 |
DROP INDEXのtable.indexname |
ALTER TABLE ... DROPのINDEXの索引名 |
DROP INDEXの索引名 |
DROP INDEXの索引名 |
その他:
DBプロバイダ |
SQL ページング構文 |
JDBC URLのサンプル |
オラクル |
SELECT * FROM(ROWNUMのR、T1を選択する。*のTableName t1からここで、他の条件とROWNUM <IDによって(ページ+1当たりのライン数*現在の)順序)t2.r T2>((ページ-1)*当たり行ページの数) |
oracle.jdbc.driver.OracleDriverと JDBC:オラクル:薄い:@ 192.168.0.3:1521:PRJ |
SQLサーバー |
SELECT * FROM(ROWNUMのR、T1を選択する。*のTableName t1からここで、他の条件とROWNUM <IDによって(ページ+1当たりのライン数*現在の)順序)t2.r T2>((ページ-1)*当たり行ページの数) |
net.sourceforge.jtds.jdbc.Driver JDBC:JTDS:のSQLServer://192.168.0.2:1433 / finaltest; characterEncoding = GB2312 |
MYSQL |
ID制限によって他の条件のためのオフセット行が行の最大数を返しのTableName T1 SELECT * FROM 開始オフセット値は0であります |
com.mysql.jdbc.Driver JDBCます。mysql:// localhostを:?3306 / aws40_test1 characterEncoding = GB2312 |
オスカー |
select * from tableName t1 where 其他条件 order by id limit count OFFSET offset count至多返回count行 offset在开始返回第一行之前要忽略的行数 |
com.oscar.Driver jdbc:oscar://localhost:2003/osrdb |
DB2 |
SELECT * FROM (Select rownumber() over() as row,taball.* from ( select * from tableName where 其他条件 order by id) as taball) AS tabpage WHERE tabpage.row BETWEEN 起始行数 AND 结束行数 |
com.ibm.as400.access.AS400JDBCDriver jdbc:as400://172.16.16.7/AWS |
支持常见数据库差异对照说明
类 |
项 |
Oracle |
SQLServer 2005(+) |
MYSQL 4.x |
OSCAR |
DB2 |
服务 |
JDBC端口 |
1521 |
1433(需要补丁) |
3306 |
2003 |
|
字段类型 |
字符 |
VARCHAR2 |
VARCHAR |
VARCHAR or TEXT |
VARCHAR |
VARCHAR |
数值 |
NUMBER |
NUMERIC |
DECIMAL |
NUMERIC/DECIMAL |
NUMERIC |
|
布尔 |
NUMBER(1) |
NUMERIC(1) |
DECIMAL(1) |
NUMERIC(1) |
NUMERIC |
|
日期时间 |
DATE |
DATETIME |
DATETIME |
TIMESTAMP (DATE只能存储日期值) |
DATE |
|
函数 |
系统时间函数 |
sysdate |
getdate() |
now() |
getdate() or current_date |
current date |
长日期转换函数 |
to_date(‘值’,’YYYY-mm-dd hh24:mi:ss’) |
‘值’ |
‘值’ |
to_timestamp(‘值’,’YYYY-mm-dd hh24:mi:ss’) |
‘值’ |
|
短日期转换函数 |
to_date(‘值’,’YYYY-mm-dd’) |
‘值’ |
‘值’ |
to_date(‘值’,’YYYY-mm-dd’) |
‘值’ |
|
SQL语法 |
创建字段 |
ALTER TABLE … ADD … |
ALTER TABLE … ADD … |
ALTER TABLE … ADD … |
ALTER TABLE … ADD … |
ALTER TABLE … ADD COLUMN … |
修改字段 |
ALTER TABLE … MODIFY(…) |
ALTER TABLE … ALTER COLUMN … |
ALTER TABLE … CHANGE … |
ALTER TABLE … ALTER COLUMN … |
ALTER TABLE … ALTER COLUMN … |
|
删除字段 |
ALTER TABLE … DROP COLUMN |
ALTER TABLE … DROP COLUMN … |
ALTER TABLE … DROP … |
ALTER TABLE … DROP … |
|
|
创建表 |
CREATE TABLE … () |
CREATE TABLE … () |
CREATE TABLE … () |
CREATE TABLE … () |
CREATE TABLE … () |
|
创建普通索引 |
CREATE INDEX … ON … () |
CREATE INDEX … ON … () |
CREATE INDEX … ON … () |
CREATE INDEX … ON … () |
CREATE INDEX … ON … () |
|
创建唯一索引 |
CREATE UNIQUE INDEX … ON …() |
CREATE UNIQUE INDEX … ON …() |
CREATE UNIQUE INDEX … ON …() |
CREATE UNIQUE INDEX … ON …() |
CREATE UNIQUE INDEX … ON …() |
|
删除索引 |
DROP INDEX indexname |
DROP INDEX table.indexname |
ALTER TABLE … DROP INDEX indexname |
DROP INDEX indexname |
DROP INDEX indexname |
其他:
DB Provider |
SQL分页语法 |
JDBC URL Sample |
Oracle |
select * from (select rownum r,t1.* from tableName t1 where 其他条件 and rownum <(当前页*每页行数+1) order by id) t2 where t2.r>((当前页-1)*每页行数) |
oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@192.168.0.3:1521:prj |
SQLServer |
select * from (select rownum r,t1.* from tableName t1 where 其他条件 and rownum <(当前页*每页行数+1) order by id) t2 where t2.r>((当前页-1)*每页行数) |
net.sourceforge.jtds.jdbc.Driver jdbc:jtds:sqlserver://192.168.0.2:1433/finaltest;characterEncoding=gb2312 |
MYSQL |
select * from tableName t1 where 其他条件 order by id limit 返回记录行的偏移量,返回记录行的最大数目 偏移量起始值为0 |
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/aws40_test1?characterEncoding=gb2312 |
Oscar |
select * from tableName t1 where 其他条件 order by id limit count OFFSET offset count至多返回count行 offset在开始返回第一行之前要忽略的行数 |
com.oscar.Driver jdbc:oscar://localhost:2003/osrdb |
DB2 |
SELECT * FROM (Select rownumber() over() as row,taball.* from ( select * from tableName where 其他条件 order by id) as taball) AS tabpage WHERE tabpage.row BETWEEN 起始行数 AND 结束行数 |
com.ibm.as400.access.AS400JDBCDriver jdbc:as400://172.16.16.7/AWS |