DB2 通用函数汇总

本文详细介绍SQL中处理字符串的各种技巧,包括去除特定字符、多行数据合并、使用TO_CHAR处理日期格式、字符替换方法、自动补全、处理NULL值、定位字符串位置及截取字符串等实用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【1】去掉字符串中的特定字符

SELECT code,replace(replace(replace(replace(toba_name,'好评',''),'差评',''),'(',''),')','') AS name FROM biv_dim_result bdt

【2】多行数据合并为一行

--NAME是写死的,不用改
select n.questionid, n.leadid, replace(replace(xml2clob(xmlagg(xmlelement(NAME a, m.prj_qs_title||','))),'<A>',''),'</A>',' ') as prj_qs_title
from lead_question_select m, session.results n 
where n.questiontype=4 and n.questionid=m.prj_qn_id and  n.questionresult=m.prj_qs_value 
		group by n.questionid , n.leadid)b

以人员分组,commodityid多行合并

SELECT PERSONID,replace(replace(xml2clob(xmlagg(xmlelement(NAME a, COMMODITYID||','))),'<A>',''),'</A>',' ') AS COMMODITYIDS FROM WX_SHOPPINGCAR GROUP BY PERSONID@

【3】TO_CHAR
处理时间: TO_CHAR(DATE, 格式)

SELECT 
 TO_CHAR(CURRENT DATE, 'YYYYMM') AS year_month,    
 TO_CHAR(CURRENT DATE, 'YYYY/MM/DD') AS, 
 TO_CHAR(CURRENT TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS') AS timestamp
FROM api_jhnews FETCH FIRST 1 ROW ONLY@

【4】字符替换:TRANSLATE和REPLACE

REPLACE(字符串,被替换字符串,替换字符):是整体字符串的替换。

TRANSLATE(字符串,替换字符,被替换字符串):是字符串里面的字符逐个替换。

利用这两个来获取一串字符里面的数据(仅限汉字或英文或数字字符在一起的情况)。

【5】自动补全:LPAD和RPAD

【6】CLALESCE(expr1, expr2, [expr3,,,,]) 第一个expr为null, 返回第二个,第二个expr为null,然后第三个....

【7】NULLIF(expr1, expr2)  两个expr相同返回null,不同返回第一个expr的值。常用于被除数中

【8】POSSTR和LOCATE

POSSTR(str1, str2):str2在str1中第一次出现的位置

LOCATE(str1, str2):str1在str2中第一次出现的位置

【9】LEFT和RIGHT :获取字符串左边或右边的字符

【10】SUBSTR(expr, 3, 2):从第三个位置开始截取2个字符

继续补充中。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值