原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。
深蓝的blog:http://blog.youkuaiyun.com/huangyanlong/article/details/39966251
【格式】
截取函数,可以实现提取字符串中指定的字符数
substr( string, start_position, [ length ] )
string:源字符串
start_position:提取的位置,字符串中第一个位置始终为1
[ length ]:提取的字符数,如果省略,substr将返回整个字符串
【实验】
目标:
体会substr函数的用法
实验思路:
实现将某列上指定字符位数的数据插入到指定的列上
模拟现场需求:
设想稍微复杂一下,我们假定需要将ename列的内容更改为ename1列的内容,但此时ename1列的字段长度超过了ename列的字段要求的最大长度,经过查看发现出现ename1列字段超出ename列字段长度的原因是ename1列数据类型为char(15),而且实际有效数据长度不到7个字符,所以只需要将ename1列的前7位字符全部提取出来插入到ename列即可。这也说明对于定长char类型,当输入字符不足定长时是会用空格进行补位的。
说明:
这种实验想法的出现,其实是映射了实际生产需求中的一个例子。在实际生产环境上,要实现把一个用户的信息某一列的数据抽取到另外一个用户上,但由于两者列的数据类型不同,存在空格致使字段长度超过了另外一个用户要求该列字段的长度,而两者不可以更改数据类型,但是有效的字段数是都符合这两个列的,因此想到使用substr来完成这个操作。
SQL> create table hyl as select * from emp where 1=2;--创建实验表Table createdSQL> select * from hyl;