1.字段为空,返回0的语法

select COALESCE(a,0)from tableA

2.根据-截取值

select split_part(product_level5_name,’-‘,1) from tableA

3.取相同字段数据的某几条数据

SELECT project_level1_code ,split_part(product_level5_name,’-‘,1) as product_level1_name ,coalesce( “stock_value_area” ,0)+ COALESCE (sale_area,0) as room_sale_area, sale_date, ROW_NUMBER () OVER (
PARTITION BY project_level1_code ,split_part(product_level5_name,’-‘,1),coalesce( “stock_value_area” ,0)+ COALESCE (sale_area,0)ORDER BY sale_date ) AS Row_ID

4.取值三个月前的日期(日期的加减法)

select CURRENT_DATE - interval ‘3 month’

5.字段的强转

cast(a as text)

6.字符串连接

string 丨丨 string

7.获取当前表所对应的字段

SELECT a.attnum, a.attname ASfield, t.typname AStype, a.attlen ASlength, a.atttypmod AS lengthvar
, a.attnotnull AS notnull, b.description AScomment
FROM pg_class c, pg_attribute a
LEFT JOIN pg_description b
ON a.attrelid = b.objoid
AND a.attnum = b.objsubid, pg_type t
WHERE c.relname =’dwd_cost_target’
AND a.attnum >0
AND a.attrelid = c.oid
AND a.atttypid = t.oid
ORDER BY a.attnum;