sql语句的一些字段操作函数的运用

在运用kettle进行文档输入输出时,遇到要对文档内的数据进行修改的情况,如将姓名字段的内容改为首字母大写,其余小写,号码字段如果前面没有86,则要加上等情况,本来用js组件来修改,现在则用sql语句直接修改,感觉自己能自我领悟,略有升华。总结出来自网络以及自己平时积累的一些好用的字符函数


1.字段截取函数

从一个字符串复制一个从指定位置开始,并具有指定长度的子字符串。

例子Oracle:substr('qwer',1,2)='qw',

其中,qwer是被截取的字段,1 是开始截取的位置,这边是q,2是截取字段的长度,所以最后结果为qw

例子:SqlServer:left('qwer',2)相同效果,right('qwer',2),substring('qwer',1,2)

2.字段添加函数

将两个字段合并在一起,输出合并后的字段。

例子:concat('ch',pnumber ),输出为chxxxx(xxxx为pnumber列内数据),当然,'ch'也可以是列字段

3.首字母大写,其余小写函数

例子:INITCAP(SMALLT)得到Smallt

同理,upper(string)全部大写,lower(string)全部小写

4删除字段部分内容并返回删除后内容

例子:ltrim(ptype,'AN'),ptype内数据为'Andrion',从左往右一次巡检'Andrion',遇到'An'内存在的内容'A',则将ptype内所有'Andrion'的'A'去掉,后续遇到'N',数据内不存在这个字符,语句到此结束,输出为'ndrion'。

同理的还有RTRIM,效果为从右边开始

5.替换字符串内部分字符

例:replace(string,search_str,[replace_str]),string为要操作字段,search_str为string内被替代的字段,replace_str是替换后的字段,可以缺省。相似功能translate

6.增加字段

例:rpad(string,new_length,[add_string]))

string是原本字符串,new_length是完成转换后的字符串长度,如果比原来的字符串长,后面则跟上add的内容,如果比之短,则取new_length的长度。add_string是在string右边增加的字段,可缺省。

7.字符截取

例:SUBSTR(string,a,[b])

返回从a位置开始的b个字符长的string的一个子字符串.第一个字符的位置是1. 如果a是0,那么它就被认为从第一个字符开始.如果是正数,返回字符是从左边向右边进行计算的.如果b是负数,那么返回的字符是从string的末尾开始从右向左进行计算的.如果b不存在,那么它将缺省的设置为整个字符串.如果b小于1,那么将返回NULL.如果a或b使用了浮点数,那么该数值将在处理进行以前首先被却为一个整数.

你可能感兴趣的:(sql语句的一些字段操作函数的运用)