1、可以直接进行类型转换
比如:date::DATE 直接转换为date类型,其他类型同理
2、JSON取数方式
args::JSON->>'key_name'进行取值
3、date类型直接+-来获取天数差值
date01-date02
4、算百分比操作
case when cnt01=0 then 0 else cnt02::float8/cnt01 end (避免出现除数为0异常)
5、列转行
SELECT unnest(string_to_array(args,'|')) AS tag
6、正则替换(分组替换)
REGEXP_REPLACE(REPLACE(args,'abc_',''),'(_.*)','')
7、OR和IN
OR会让索引失效,扫描全表,IN和OR效果一样
参考:https://www.cnblogs.com/hyd1213126/p/5828937.html
通常情况下使用union代替OR效率会高,但是,当OR两边的字段相同,union效率反而会比OR低