简单SQL


判断字符串长度:

select length('好')  #3

select char_length('好')  #1

#去空格

select trim(' hao ')  #hao,两边去空格

select ltrim(' hao ')  #hao ,左边去空格

#截取

select substr('12345',2,1)  #2,从第2个开始只要1个

select substr('12345',2)  #2345,从第2个开始到最后

select substr('12345',-2)  #45,从倒数第2个开始到最后

#空值转换

select coalesce(null,2,3)  #2

select coalesce(null,null,3)  #3

select nvl(null,0)  #0

select nvl2(a,b,c)  #a为null返回c,a非null返回b

case when name is null or name='' then 'haha' else name end  #

#行列转换

可用union all函数,不去重

#分组后拼接

可用group_concat函数

select roleplayer_id,group_concat(risk_id order by risk_id desc) from risk_base group by roleplayer_id;

#分组排序取最新最大

可用row_number函数

select Row_Number() OVER (partition by 组 ORDER BY id desc) as row from a where a.row=1;

#Oracle调优(并行执行hint)

select /*+parallel(8)*/ policy_no from WEB_CAR_RENEWA_MARKET group by policy_no having count(*)>1;