substr,substrb函数剖析
来源:互联网 发布:matlab 矩阵怎么转置 编辑:程序博客网 时间:2024/05/28 03:02
说明:以下内容均整理自网络资料,以供日后参考学习之用:
数据库里的varchar2和char字段长度定义是有两种方式,按字节或按字符。
按字节定义长度的方式是:varchar2(n byte)或者char(n byte),这也是缺省的长度定义方式,也就是 说,平时我们用到的varchar2(n)或者char(n)都是按字节定义长度的。
按字符定义长度的方式是:varchar2(n char)或者char(n char),这样的定义方式可以确保字段有足够的空间储存需要的字符,无论这些字符的长度是多少字节。
我们遇到的这个错误的原因在于,数据库的字符集是多字节字符集,也就是说中文字符占多个字节,而源字段的内容都是中文,这样substr(**,1,50)的字节长度可能达到100,自然超过了目标表字段中的50了。
==================================================================================
SUBSTR(char,m[,n]):该函数用于取得字符串的子串,其中数字m是字符开始位置,数字n是子串长度。如果m是0,则从首字符开始,如果m是负数,则从尾部开始。
以上是教材中关于函数SUBSTR()的原始说明。
第一、并没有说明数字m和n在不同字符集下的涵义;
第二、教材中没有列出另一个函数SUBSTRB()。
从美国人的角度看,这两个函数执行的结果是一样的,但翻译此书的专家没有考虑到在不同字符集下特别是在中文字符集下的不同。
SUBSTR()在进行数字定位时是按照字符串所属字符集来认定的,汉字和字母都是1个字符。
SUBSTRB()则完全根据字节在确定,1个汉字为2个字节,当碰到半个汉字时,则用空格代替。当所取长度为奇数时,则自动舍弃最后一位字节。
========================================================
类似的还有, length与lengthb 长度计算函数 select length('你好') from dual ----output:2 select lengthb('你好') from dual ----output :4 Instr与Instrb 字符串查找函数 instr(原字符串,查的字符串,起始位置,第几个匹配) 返回字符串位置,找不到返回0 . select instr('日日花前长病酒','花前',1,1) from dual ----output:3 select instr('日日花前长病酒','花前',1,1) from dual ----output:5
- substr,substrb函数剖析
- Oracle中的函数substr和substrb
- substr() 和 substrb()
- Oracle substr()与substrb()
- oracle substrb 和substr
- substr和substrb的区别
- oracle substr,substrb ,instr,instrb函数的用法以及like的优化
- oracle substr,substrb ,instr,instrb函数的用法以及like的优化
- the difference between substr and substrb
- Oracle中SUBSTR与SUBSTRB的区别
- pl/sql中的length,substr和lengthb,substrb用法解析
- oracle中length、lengthb、substr、substrb用法小结
- oracle中substrb和instr函数用法
- substr函数
- substr() 函数
- substr函数
- substr 函数
- SUBSTR()函数
- 关于简单的Html一些知识
- MS SQL Server数据库事务锁机制分析
- JMS : Java Message Service (Java消息服务)
- 换工作前后的日子
- shell中要注意的一些问题
- substr,substrb函数剖析
- 一个页面多次调用自定义控件时,注册JS脚本
- avoid pop-up Program Compatibility Assistant (PCA) dialog
- Win7上Android开发环境搭建
- jquery 插件(三) 精选动画仿flash插件1
- http协议content-encoding & transfer-encoding
- Android学习之 Platform总线 2
- 从HelloWorld看iphone程序的生命周期
- Http协议中消息的编码