oracle限制字符串长度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle限制字符串长度相关的知识,希望对你有一定的参考价值。

请问如何在long类型上限制只显示前100个字符,剩下的用‘...’表示呢?能说具体点吗?偶是菜鸟,希望有个例子。

直接定义字符串的最大长度就可以了,自后超过此长度的话,之后就无法插入,返回size有问题。
可以通过alter更改字符串长度:

sql: alter tablename modify columnName varchar2(25);
解释:以上语句重置表中字段的属性,设置最大长度是25个字节,超过的话,无法正常插入。
参考技术A 使用下面的设置
set long 100
设置数据库显示long型数据的显示长度完后
select a||'...' from table_name;
参考技术B select CASE WHEN length(t.remark)>100 THEN substr(t.remark,1,100)||'...' ELSE t.remark END CASE from 表名 t本回答被提问者采纳

请问Oracle数据库有没有容量限制?

参考技术A 数据库没有容量限制,表空间最大不超过初始设定值,表和字段没有容量限制,数据量太大就涉及存储效率,而各数据类型都有最大容量。例如:
CHAR 固定长度字符串 最大长度2000 bytes
VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题
LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作
RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等
LONG RAW 可变长度的二进制数据 最大长度2G 同上
BLOB 二进制数据 最大长度4G
CLOB 字符数据 最大长度4G
NCLOB 根据字符集而定的字符数据 最大长度4G
BFILE 存放在数据库外的二进制数据 最大长度4G
ROWID 数据表中记录的唯一行号 10 bytes ********.****.****格式,*为0或1
NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes
NUMBER(P,S) 数字类型 P为整数位,S为小数位
DECIMAL(P,S) 数字类型 P为整数位,S为小数位
INTEGER 整数类型 小的整数
FLOAT 浮点数类型 NUMBER(38),双精度
REAL 实数类型 NUMBER(63),精度更高
参考技术B 有表空间设置大小的!追问

那表空间有没有大小限制呢?

追答

这得看你的DB_BLOCK_SIZE大小!你可以看一下,网上搜索下有计算公式的!

本回答被提问者采纳

以上是关于oracle限制字符串长度的主要内容,如果未能解决你的问题,请参考以下文章

C++基础求教,如何限制字符串长度

ORACLE的数据类型的长度合集

MySQL InnoDB引擎索引长度受限怎么办

ORACLE常用数据库字段类型

oracle数据库如何改变字段的长度?

如何修改oracle数据库的字段类型长度