日期转换为字符串:
to_char(j.create_time,'yyyy-mm-dd hh24:mi:ss')
字符串拼接
'a'||'b'
查询结果转换成字符串
select array_to_string(array(select mc from question_zgcs), ',')
将列表型的json字段转换成查询结果
select jsonb_array_elements("字段名")::json->>'label' as label,
jsonb_array_elements("字段名")::json->>'value' as value
from 表名
计算日期差
select DATE_PART('day',t1-t2)
将字符串转换为日期
select to_timestamp('2023-05-12', 'YYYY-MM-DD HH24:MI:SS')
not in中如果列表中存在NULL,则查询不到结果:SQL如下
select col from tb where col not in (1, NULL) --结果查不到
select col from tb where col in (1, NULL) --结果能查到
UNION和UNION ALL的区别
UNION:将结果集去重并且顺序重新排列
UNION ALL:将结果集合并,并不会重新排列顺序,会保留重复的记录
SELECT '2012' UNION SELECT '2023' UNION SELECT '2012'
SELECT '2012' UNION ALL SELECT '2023' UNION ALL SELECT '2012'