db2字符串截取substr(db2 字符串处理)
本文目录
db2 字符串处理
先写一个 REVERSE 函数, 用于字符串反转。(REVERSE 函数 Oracle 和 SQL Server 都有的, DB2 有可能没有。)你可以去百度查下 “db2 REVERSE” 这样的关键字。 调用的时候, 就是 REVERSE ( ’test_ip_steal’ ) 返回结果是 laets_pi_tset 然后使用 POSSTR , 找到 反转后的 第一个 _ 的位置。就是 POSSTR ( REVERSE ( ’test_ip_steal’ ) )相当于 POSSTR ( ’laets_pi_tset’ )返回结果是 6 然后用 SUBSTR 函数, 取得 后面的信息就是 SUBSTR ( REVERSE ( ’test_ip_steal’ ), POSSTR ( REVERSE ( ’test_ip_steal’ ) + 1 ) 相当于 SUBSTR ( ’laets_pi_tset’ , 6+1 )返回结果是 pi_tset 最后再把上面的结果, 再反转一次, 就是你要的最终结果了。 REVERSE (SUBSTR ( REVERSE ( ’test_ip_steal’ ), POSSTR ( REVERSE ( ’test_ip_steal’ ) + 1 ))
db2自定义函数查找字符“,”在字段中第N次出现的位置
不知道下面这种处理方式, 对你有没有参考价值
db2 -td@CREATE OR REPLACE FUNCTION f_split (p_str varchar(1000),p_split varchar(10)) RETURNS TABLE (result VARCHAR(100))LANGUAGE SQLRETURN with n(str, ori, pos) as ( values (p_str||p_split, 1, locate(p_split,p_str)) union all select str, pos+length(p_split), locate(p_split, str, pos+length(p_split)) from n where locate(p_split, str, pos+length(p_split))》0) select substr(str, ori, pos-ori) as result from n@函数创建完毕以后,可以开始做查询的处理.db2 =》 select result from table(f_split(’aa,bb,cc’,’,’))@RESULT--------------------SQL0347W 递归公共表表达式 "TEST.N" 可能包含无限循环。 SQLSTATE=01605aabbcc 已选择 3 条记录,打印 1 条警告消息。
db2 怎样将一个字段按照特定格式来截断
用 INSERT函数 查找 第3个 / 和第4个 / 的位置。然后用SUBSTR函数 来获取 第3个 / 和第 4个 / 之间的值。
DB2 load数据时字段超长,怎么才能自动截断存入
这个好说,首先,你先建一个varchar(30)的temp表。然后将数据load进这个temp表。再substr()切取这个临时表的列前6位,装到你的目标表tablename中去不就可以了。你在文件中想要读取前6位可能行不通啊。
DB2小数位截取
SELECT right(digits(CAST(1.123456 AS DECIMAL(20,4))*1000),6)/1000;其中DECIMAL(m,n)类型转化,m必须大于整数位+小数位位数和,n是小数位,不足自动补零,cast类型转换,digits整数前补零,right截取右边位数。
更多文章:
autocad2013安装教程(win10系统autocad2013怎么安装)
2024年6月28日 05:53
安卓版iphoneqq(如何让安卓手机登QQ,让对方看到你是iPhone在线)
2024年5月28日 15:33
adobe cs6安装教程(adobe photoshop cs6怎么安装)
2024年5月28日 18:13
120帧画质助手下载安卓(画质助手120帧安卓和平精英怎么登录)
2024年3月29日 17:35
路由器怎样重新设置wifi密码(路由器怎样重新设置wifi密码)
2024年7月15日 09:18