select substr(index_code, 1, locate('-', index_code)-1) from report_data

substr(str,m,n)表示从str中的m个字符开始截取n个字符。注:m从1开始计数。

locate(str1,str2, <pos>)表示在str2中查找str1第一次出现的位置,如果指定pos,则从str2的pos处开始查找str1第一次出现的位置。

LOCATE函数
语法:LOCATE(ARG1,ARG2,<POS>)
LOCATE函数在ARG2中查找ARG1第一次出现的位置,如果指定POS,则从ARG2的POS处开始查找ARG1第一次出现的位置。
Sql代码
eg:   
SELECT LOCATE('a',NAME) FROM T1  
OR
POSSTR函数
语法:POSSTR(EXP1,EXP2)
POSSTR函数返回EXP2在EXP1中的位置。
Sql代码
eg:   
SELECT LOCATE(NAME,'a') FROM T1

DB2常用函数

VALUE函数

语法:VALUE(EXPRESSION1,EXPRESSION2)

VALUE函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值。

eg:
--表示如果T1.ID为空,则返回空串,如果T1.ID不为空,则返回T1.ID。
SELECT VALUE(ID,'') FROM T1

COALESCE函数

语法:COALESCE(ARG1,ARG2...)

COALESCE返回参数集中第一个非null参数。用法类似于VALUE函数。

LENGTH函数

语法:LENGTH(ARG)

LENGTH函数返回参数的长度。

eg:
SELECT LENGTH(NAME) FROM T1

LCASE、LOWER函数

语法:LCASE()、LOWER()

LCASE、LOWER函数返回定长、变长字符串的小写形式。

eg:
SELECT LCASE(NAME),LOWER(NAME) FROM T1

UCASE、UPPER函数

语法:UCASE()、UPPER()

UCASE、UPPER函数返回定长、变长字符串的大写形式。

eg:
SELECT UCASE(NAME),UPPER(NAME) FROM T1

LTRIM、RTRIM函数

语法:LTRIM()、RTRIM()

LTRIM、RTRIM函数从CHAR、VARCHAR、GRAPHIC或者VARGRAPHIC中去掉左侧或右侧的空格。

eg:
SELECT LTRIM(NAME),RTRIM(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

CONCAT函数

语法:CONCAT(ARG1,ARG2)

CONCAT函数返回两个字符串的连接。

eg:
SELECT CONCAT(FIRST_NAME,LAST_NAME) FROM T1

INSERT函数

语法:INSERT(ARG1,POS,SIZE,ARG2)

INSERT函数返回一个字符串,将ARG1从POS处删除SIZE个字符,将ARG2插入该位置。

eg:

LOCATE函数

语法:LOCATE(ARG1,ARG2,<POS>)

LOCATE函数在ARG2中查找ARG1第一次出现的位置,如果指定POS,则从ARG2的POS处开始查找ARG1第一次出现的位置。

eg:
SELECT LOCATE('a',NAME) FROM T1

POSSTR函数

语法:POSSTR(EXP1,EXP2)

POSSTR函数返回EXP2在EXP1中的位置。

eg:
SELECT LOCATE(NAME,'a') FROM T1

REPEAT函数

语法:REPEAT(ARG1,NUM_TIMES)

REPEAT函数返回ARG1被重复NUM_TIMES次的字符串。

eg:
SELECT REPEAT(NAME,2) FROM T1

REPLACE函数

语法:REPLACE(EXP1,EXP2,EXP3)

REPLACE函数用EXP3代替EXP1中所有的EXP2。

eg:
SELECT REPLACE('ROMANND','NND','CCB') FROM T1

SPACE函数

语法:SPACE(SIZE)

SPACE函数返回一个包含SIZE个空格的字符串。

eg:
SELECT SPACE(10) FROM T1

SUBSTR函数

语法:SUBSTR(ARG1,POS,<LENGTH>)

SUBSTR函数返回ARG1中POS位置开始的LENGTH个字符,如果没有指定LENGTH,则返回剩余的字符。

eg:
SELECT SUBSTR('CDNJFDJFJD',5,2) FROM T1

db2字符串截取方法及常用函数的更多相关文章

  1. 【iOS】Swift字符串截取方法的改进

    字符串截取方法是字符串处理中经常使用的基本方法.熟悉iOS的朋友都知道在基础类的NSString中有substringToIndex:,substringFromIndex:以及substringWi ...

  2. Shell脚本字符串截取方法总结

    Shell脚本8种字符串截取方法总结转自:https://www.cnblogs.com/ralphdc/p/8032335.html Linux 的字符串截取很有用.有八种方法.假设有变量 var= ...

  3. Shell脚本8种字符串截取方法总结

    Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 代码如下: echo ${va ...

  4. Linux 的字符串截取方法(转)

    Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} ...

  5. shell脚本中8种字符串截取方法_转自脚本之家

    转自:http://www.jb51.net/article/56563.htm 参考:http://blog.csdn.net/taiyang1987912/article/details/3955 ...

  6. C语言字符,字符串,字节操作常用函数

    strlen 这个函数是在 string.h 的头文件中定义的 它的函数原型是 size_t strlen( const char ); size_t 是一个无符号整型,是这样定义的 typedef ...

  7. NSString字符串截取方法

    1.字符串 1> 字符串比较 NSString *a = @“hello”; NSString *b = [NSString stringWithFormat:@hello”]; if (a = ...

  8. ES6之字符串扩展方法(常用)

    es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,个人选了几个感觉比较常用的方法: includes 搜索字符的神器 还记得我们之前如何判断某个字符串对象是否包含特地字符的吗? ...

  9. Delphi字符串的基本操作与常用函数

    参考:http://www.cnblogs.com/pchmonster/archive/2011/12/16/2290034.html 结合这个博客一起学习:http://www.cnblogs.c ...

随机推荐

  1. 对于进程没杀死占用内存和cpu行为的方法

    在跑机器学习或者深度学习的过程中有可能遇到没杀死进程的情况,但是程序的入口又没关掉,尤其是我使用jupyter从远程Linux映射到windows浏览器跑程序的时候 对于上面的问题, 首先运行 hto ...

  2. 批量部署ssh免密登陆

    #!/bin/bash#set -xservers="10.254.192.xx10.254.192.xx10.254.192.xx"passwd="xxxxxxxx&q ...

  3. git使用及一些配置、问题

    安装https://git-for-windows.github.io/ 一.绑定用户名.邮件地址 git config --global user.name "Your Name" ...

  4. [部署开发环境]部署django的生成环境nginx+uwsgi+django

    #教程 # ubuntu部署django项目 # 部署准备 - ubuntu操作系统 -- vagrant虚拟 - Nginx服务器 -- 安装在ubuntu的web服务器 - uWSGI应用协议服务 ...

  5. 蓝桥杯_风险度量_dfs_无向图两节点间的所有路径

    标题:风险度量 X星系的的防卫体系包含 n 个空间站.这 n 个空间站间有 m 条通信链路,构成通信网.两个空间站间可能直接通信,也可能通过其它空间站中转. 对于两个站点x和y (x != y), 如 ...

  6. hdu1712 分组背包 ACboy needs your help

    ACboy needs your help Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  7. 移动平台自动化测试:appium(一)

    Appium 是一个开源的,跨平台的自动化测试工具.它支持模拟器(iOS,FirefoxOS,Android)和真机(iOS, Android, FirefoxOS)上的原生应用,混合应用和移动 we ...

  8. ES6 Destructuring Assignment All In One

    ES6 Destructuring Assignment All In One ES6 & Destructuring Assignment Axios, vue https://develo ...

  9. synflood 模拟工具

    synflood 模拟工具 来源 https://blog.csdn.net/wuzhimang/article/details/54581117 因项目需要,要对主流的几家抗DDoS设备做测评,当然 ...

  10. 在Android和iOS中集成flutter

    flutter可能是未来跨平台开发的又一技术框架,那么对于一个app,我们不可能完全用flutter来开发,那么就意味着我们需要在已有的Android和iOS代码中去集成flutter.目前这一技术还 ...