【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个字符
继续补充中。。。