Oracle 中length 與lengthb 介紹

来源:互联网 发布:卡盟源码无限分站 编辑:程序博客网 时间:2024/05/21 10:26
用length和lengthb查询时间类型(date)的长度,为什么一个显示9位,一个显示11位 如:
select length(sysdate) from dual;

LENGTH(SYSDATE)
---------------
              9
原因:
length指的是字符个数,lengthb指的是字节数。字符个数跟数据库字符集有很大关系。length和lengthb的参数都为varchar2型,因此length(sysdate)有一个隐式的类型转换,实际上等同于length(to_char(sysdate)),ORACLE安装好后默认的NLS_DATE_FORMAT参数值为DD-MON-RR,结果就相当于length('28-9月 -05')和
lengthb('28-9月 -05')了,
其中中文'月'占三個字節其结果就是9和11