在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函数返回参数的长度。
- eg:
- SELECT LENGTH(NAME) FROM T1
LEFT、RIGHT函数
语法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH)
LEFT、RIGHT函数返回ARG最左边、右边的LENGTH个字符串,ARG可以是CHAR或BINARY STRING。
- eg:
- SELECT LEFT(NAME,2),RIGHT(NAME,2) FROM T1
转载于:https://blog.51cto.com/vieri/382288