在DB2查询时,遇到需要将用户名字符串与一个字段记录的中间部分进行匹配的情况,因用户名长度不一,故不便用substring之类函数处理,后综合运用DB2自带的LEFT和LENGTH函数解决。

       eg:用户名变量为OPRNO,对应表中字段名为Recomm_ID,形式为TJD(定长)+XXX(用户名、不定长)+20100824090910(定长),查询SQL则如此写

"SELECT ....   WHERE  LEFT(Recomm_ID,(LENGTH(Recomm_ID)-14)='TJD"+OPRNO+"'"

附函数定义:

LENGTH函数

语法:LENGTH(ARG)

LENGTH函数返回参数的长度。
 

Sql代码 复制代码
  1. eg:   
  2. SELECT LENGTH(NAMEFROM T1  

LEFT、RIGHT函数

语法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH)

LEFT、RIGHT函数返回ARG最左边、右边的LENGTH个字符串,ARG可以是CHAR或BINARY STRING。

Sql代码 复制代码
  1. eg:   
  2. SELECT LEFT(NAME,2),RIGHT(NAME,2) FROM T1