oracle中long转varchar
这个问题,是由于我在使用工具进行对类型模板导出导入后,发现模板对应的表,其字段中,部分具有默认值的,并没有导过去。
我一直比较懒,也不想直接去一个个查询对比了,于是就通过查询自己的表集合,然后搜索其中所有具备默认值的字段,想拼接语句,但是系统表存储默认值为long型,这个时候,就需要把它转为varchar2.于是使用了如下的方法
-- Created on 2011-2-22 by M
declare
-- Local variables here
i integer;
word varchar(4000);
begin
-- Test statements here
for x in ( select t.table_name 表名,
t.column_name as 字段名,
t.data_type as 字段类型,
t.data_length as 字段长度,
t.nullable as 是否为空,
t.data_default as 默认值 ,t.data_default aa,'alter table '|| t.table_name||' modify '||t.column_name||' default ' bb
from USER_TAB_COLS t where TABLE_NAME in (
select table_name from tabs where table_name like 'M_%')
and t.data_default is not null)
loop
word:=x.bb||x.aa||';';--注意,这里面x.aa本来是long型的,被自动转成了varchar2型处理了
dbms_output.put_line(word);
end loop;
end;
这样在test窗口中,一运行,就可以把所有的要修改默认值的字段语句导出来了,然后直接使用,^_^。用类似的方式写个functiong,自然也可以依次返回对应的varchar2等等
分享到:
相关推荐
Oracle 中的 LONG 数据类型 Oracle 中的 LONG 数据类型是一种特殊的数据类型,用于存储可变长字符串。LONG 数据类型的最大长度限制是 2GB,这使得它非常适合存储超出一定长度的文本。实际上,数据字典中很多对象的...
Oracle 普通表转分区表方式 Oracle 分区表(Partitioned Table)是一种特殊的表结构,可以根据不同的条件将数据分割成多个独立的分区,以提高查询效率和减少存储空间。本文将详细介绍将 Oracle 普通表转换为分区表...
DB2/400 提供 VARCHAR 和 CLOB 与 Oracle 中的 RAW 和 LONG RAW 相对应。Oracle 也支持大对象:BLOB、CLOB、NCLOB 等。例如,Oracle 中的 BLOB 和 CLOB 可以提供 4GB 的空间,而 DB2/400 中的 BLOB 和 CLOB 只能存放...
DB2/400提供VARCHAR和CLOB与Oracle中的RAW和LONG RAW相对应。Oracle也支持大对象:BLOB、CLOB、NCLOB等。DB2/400中的BLOB和CLOB只能存放2GB的数据,而Oracle中的BLOB和CLOB可以提供4GB的空间。 五、ROWID类型 ...
用过Oracle的人都知道,Oracle有一种...如果你的程序中某个字符的值要大于20002个汉字,用 VARCHAR2就不能满足要求了。这时候,你有两个选择,一是用多个VARCHAR2来表示,二是用LOB字段。这里我们来看看第二个办法。
- `VARCHAR2` 在 Oracle 中与 MySQL 的 `VARCHAR` 类型相同,用于存储可变长度的字符串。 - `DATE` 在 Oracle 中等同于 MySQL 的 `DATETIME`,用来存储日期和时间信息。 - `LONG` 或 `CLOB` 类型在 Oracle 中存储...
MySql 中的 VARCHAR 类型相当于 Oracle 中的 VARCHAR2。MySql 中的 INT 可以替代 Oracle 中的 NUMBER。 4. 函数查询 在 MySql 中,可以使用 SELECT 语句查询所有函数,而 Oracle 需要使用allah VIEW 来查询函数。 ...
Oracle 中有多种字符类型,包括 char、varchar、varchar2、long 等。 * char(n):定长字符串,最大长度为 2000 字节。char 类型的字符串长度是固定的,可以指定长度,否则默认为 1 字节长。 * varchar(n):可变长...
- `VARCHAR2`在Oracle中对应`VARCHAR2`,但在MySQL中转换为`VARCHAR`。 - `TEXT`和`LONGTEXT`在Oracle中转换为`CLOB`,用于存储大量文本。 - `ENUM`在Oracle中无直接对应类型,通常转换为`VARCHAR2`或`NUMBER`。 ...
标签中的`long_to_char`和`long long_to_char`进一步强调了这个转换操作,尽管在SQL中没有`long long`这样的标准类型,但可能是对某种大数据类型的引用,如Oracle的`NUMBER`或PostgreSQL的`BIGINT`。 在压缩包内的`...
在.NET开发中,Oracle数据库是常用的后端存储系统之一,特别是在企业级应用中。了解Oracle数据库与.NET数据类型的映射关系对于开发人员来说至关重要,这直接影响到数据的正确存储、检索和处理。以下是对"Oracle与...
在迁移过程中,需要将 Oracle 中的 RAW、LONG RAW 类型转换为 GBase 8a 中的 BLOB、CLOB 类型。 2.3. 字符数据类型 在 Oracle 中,字符数据类型主要包括 CHAR、VARCHAR2、NVARCHAR2 等,而在 GBase 8a 中,字符...
ORACLE中的数据类型.doc 当你在数据库中创建数据表的时候,你需要定义表中所有字段的类型。ORACLE有许多种数据类型以满足你的需要。数据类型大约分为:character, number, date, LOB, 和RAW等类型。虽然ORACLE8i也...
2. 字符串类型:VARCHAR和CHAR与Oracle对应,但DB2还提供了LONG VARCHAR,用于存储非常长的字符串。 3. 日期时间类型:DATE、TIME和TIMESTAMP在DB2中的使用方式与Oracle类似,但DB2还提供INTERVAL类型,用于表示...
基本的数据类型包括NUMBER(用于数值)、VARCHAR2(可变长度字符串)、DATE(日期和时间)、LONG(长文本)等。理解这些数据类型及其用法对于创建有效和高效的表结构至关重要。 再者,SQL是Oracle的主要查询语言,...
- Oracle的`LONG`类型在DB2中可以用`LONG VARCHAR(n)`或`CLOB(2GB)`替代。 - `NUMBER(p)`在Oracle中表示精度p的数值,DB2则使用`DECIMAL(p,s)`、`DEC(p,s)`、`NUMERIC(p,s)`或`NUM(p,s)`,其中s为小数位数。 - ...
- `VARCHAR2` 类型在 Oracle 中也有扩展为 `oracle.sql.CHAR` - `BFILE` 类型是 Oracle 特有的大对象类型,用于存储外部文件,没有对应的 JDBC 类型,但可以通过 `oracle.jdbc.OracleTypes.BFILE` 访问 - `ROWID`...
- `Maximum Long Characters` 或 `varchar`、`CLOB`: 对应 Oracle 的 `CLOB`,用于存储最大长度的文本。 - `Multibyte` 类型如 `nchar`、`NVARCHAR2`:对应 Oracle 的同名类型,用于存储多字节字符串。 6. **日期...
字符数据类型包括CHAR(固定长度)、VARCHAR2(推荐使用,可变长度)和LONG(用于大段文本)。数值数据类型如NUMBER支持整数、浮点数和实数,精度可达38位。日期时间数据类型包括DATE(存储日期和时间,精确到秒)和...
Oracle 和 SQL 数据类型是数据库管理系统中用于定义和存储数据的基础组件。它们决定了数据的结构、大小以及如何进行处理。以下是两种数据库系统中主要数据类型的详细比较: **Oracle 数据类型** 1. **Char**: Char...