A. 在oracle中怎么查询某个字段的长度
select * from 表名 wherelength(nvl(字段,''))=1order by 字段
例如:一个列里面有长短不一的数字如何判断数字的长度
如:I_CODE
使用selectI_CODEfromtablename wherelength(I_CODE)=4。即可算出答案
另外,一个汉字在Oracle数据库里占多少字节跟数据库的字符集有关,UTF8时,长度为三。select lengthb('飘') from al 可查询汉字在Oracle数据库里占多少字节
(1)oracle数据库的长度值怎么求扩展阅读
查询包含DNO字段,且字段长度<10的表,使用如下函数
select * from user_tab_cols t where t.column_name like '%DNO%' and data_length < 10;
有时候数据库中有很多表包含同一个字段时,要修改表字段长度,可以通过这个查询哪些需要修改。
B. 如何获得Oracle数据库中,number类型字段的长度
select * from user_tab_cols where table_name='A' and column_name='COL1';
就可以查看到字段COL1的字段长度。
C. 请问各种不同的数据库,对于字段长度的存储方式怎么计算
解决办法是将字段改成NChar,NVarchar等类型,在入库的时候每个字符串插入前都加入一个N,如N’lily’、N’Male’,兼容性会更好,作为Nvarchar字段,这是一种推荐做法!
小贴士:
char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。
Varchar类型:Varchar 的类型不以空格填满,比如varchar(100),但它的值只是”qian”,则它的值就是”qian” 而char 不一样,比如char(100),它的值是”qian”,而实际上它在数据库中是”qian “(qian后共有96个空格,就是把它填满为100个字节)。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
VARCHAR存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
Nchar类型和Nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。
D. oracle中怎么查字段值长度
elect * from table1 where length(字段)>2
select * from table1 where length(字段名)>2
E. oracle数据库中怎么设置数据长度
1、通过图形界面操作,在左侧依次选择objects-tables,右键单击要修改的表名,选中‘Edit’-column,可以直接修改;
2、使用DDL语句:alter table 表名 modify 字段名(字符类型(长度))
例如:
alter table emp modify ename(varchar2(32))
F. Oracle中的存储过程,怎么获取到游标的长度
fech一次就可以了,然后直接退出。1、如果只想取得第一行的结果,fetch一次就行 2、好像没有直接的办法获取,可以采用迂回的办法,循环一遍,然后看%rowcount 3、select count(*) into v_num from tablename,先把表的总数放进一个变量,不过这个数可能跟游标的总长度不一致,如果在定义游标之前表的行数变化了,这个还是不准确的。fetch xxx bulk collect into 集合 然后通过 集合.count 这个应该好使吧。fetch之后不要加循环就行了
G. 请书写一个sql语句来计算字符串”oracle 数据库管理系统”的长度,你的sql语句的输出结果是多少
select length('oracle 数据库管理系统') from al
14
H. 请教oracle数据库字段长度问题
区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效率稍高。 3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是Oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。假如你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。 何时该用CHAR,何时该用varchar2? CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。 VARCHAR2虽然比CHAR节省空间,但是假如一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。资料引用: http://www.knowsky.com/390043.html
I. Oracle数据库 字段中的数据的长度是 通过什么编码计数的
number默认情况下,精度为38位,取值范围1~38之间它实际上是磁盘上的一个变长类型,会占用0~22字节的存储空间。默认小数点位是0