添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
SQL Server 数据类型 Oracle 数据类型
bigint NUMBER(19,0)
binary(1-2000) RAW(1-2000)
binary(2001-8000) BLOB
bit NUMBER(1)
char(1-2000) CHAR(1-2000)
char(2001-4000) VARCHAR2(2001-4000)
char(4001-8000) CLOB
date DATE
datetime DATE
datetime2(0-7) TIMESTAMP(7)(对于 Oracle 9 和 Oracle 10);VARCHAR(27)(对于 Oracle 8)
datetimeoffset(0-7) TIMESTAMP(7) WITH TIME ZONE(对于 Oracle 9 和 Oracle 10);VARCHAR(34)(对于 Oracle 8)
decimal(1-38, 0-38) NUMBER(1-38, 0-38)
float(53) FLOAT
float FLOAT
地理 BLOB
geometry BLOB
hierarchyid BLOB
图像 BLOB
int NUMBER(10,0)
money NUMBER(19,4)
nchar(1-1000) CHAR(1-1000)
nchar(1001-4000) NCLOB
ntext NCLOB
numeric(1-38, 0-38) NUMBER(1-38, 0-38)
nvarchar(1-1000) VARCHAR2(1-2000)
nvarchar(1001-4000) NCLOB
nvarchar(max) NCLOB
real real
smalldatetime DATE
int NUMBER(5,0)
smallmoney NUMBER(10,4)
sql_variant N/A
sysname VARCHAR2(128)
text CLOB
time(0-7) VARCHAR(16)
timestamp RAW(8)
tinyint NUMBER(3,0)
uniqueidentifier CHAR(38)
varbinary(1-2000) RAW(1-2000)
varbinary(2001-8000) BLOB
varchar(1-4000) VARCHAR2(1-4000)
varchar(4001-8000) CLOB
varbinary(max) BLOB
varchar(max) CLOB
xml NCLOB
SQL Server 数据类型 Oracle 数据类型 bigint NUMBER(19,0) binary(1-2000) RAW(1-2000) binary(2001-8000) BLOB bit NUMBER(1) char(1-2000) CHAR(1-2000) char(2001-4000) VARCHAR2(2001...
oracle 的blob类型 对应 sqlserver 中的p_w_picpath类型/***@paramsourceConn源数据库连接*@paramtargetConn目标数据库连接*/publicvoidcopyFile{ConnectionsourceConn=getOraclCon();Statements=null;Connectiontarget.. 转载于:...
1. 使用Druid解析 SQL ,获取 SQL 语句中的表名和字段名。 2. 使用Feign调用元数据服务,获取表的元数据信息,包括表的字段名、类型等。 3. 解析 SQL 语句,找到包含LEFT JOIN的SELECT语句,并将其中的*替换为具体的字段名。 4. 根据不同的数据库类型,生成 对应 SQL 语句。 下面是一个大致的实现过程: ```java // 1. 使用Druid解析 SQL ,获取 SQL 语句中的表名和字段名 String sql = "SELECT t1.*, t2.name FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id"; List< SQL TableSource> tableSources = SQL Utils.getTables( sql , JdbcConstants.MY SQL ); List< SQL SelectItem> selectItems = SQL Utils.getSelectItems( sql , JdbcConstants.MY SQL ); // 2. 使用Feign调用元数据服务,获取表的元数据信息 TableMetadata metadata = metadataService.getTableMetadata(tableSources.get(0).getName()); // 3. 解析 SQL 语句,找到包含LEFT JOIN的SELECT语句,并将其中的*替换为具体的字段名 for ( SQL SelectItem item : selectItems) { if (item.getExpr() instanceof SQL AllColumnExpr) { SQL AllColumnExpr allColumnExpr = ( SQL AllColumnExpr) item.getExpr(); if (allColumnExpr.getOwner() instanceof SQL IdentifierExpr) { String tableName = (( SQL IdentifierExpr) allColumnExpr.getOwner()).getName(); if ("t1".equals(tableName)) { List<String> columnNames = metadata.getColumnNames(tableName); SQL SelectItem newItem = new SQL SelectItem(); newItem.setExpr(new SQL IdentifierExpr(columnNames.get(0))); item.getParent().set(item.getParent().indexOf(item), newItem); // 4. 根据不同的数据库类型,生成 对应 SQL 语句 String new Sql = SQL Utils.to SQL String(stmt, JdbcConstants.MY SQL ); 需要注意的是,这只是一个简单的示例代码,实际应用中还需要处理很多细节问题,比如 SQL 语句中可能包含多个表,需要进行关联查询,还需要处理各种可能出现的异常情况。 彻底解决:SunCertPathBuilderException: unable to find valid certification path to requested target错误的方法 WEBnoob: 好用,爱用 JAVA Delphi HMAC_SHA256位实现及SHA256哈希散列BASE64签名Key互通生成算法 你好,代码能发一份吗?369421676@ qq.com, Android RecyclerView实现选中Item变色的最精简高效实现(绝不会出现点击时其它item偶尔也被选中现象) craiklee: 很有用,感谢分享! SQL建索引提示:联机索引操作只能在 SQL Server Enterprise Edition 中执行 解决方法 2301_77754679: 恕我冒昧,我真的没发现,前后语句有哪里不同? Android重写Activity的dispatchTouchEvent方法,记录每一次点击事件 该换键盘了: 这个只是抬起事件吧