【postgresql】一些函数记录

1、coalesce函数:合并,coalesce(值1,值2,值3……),返回第一个不为null的值;

2、coalesce和ifnull的区别,ifnull只有两个参数,返回第一个不为null的参数

3、if和casewhen的区别:case 字段 when 条件 then 结果1 else 结果2  end

在score表中,sex为1表示男性,sex=0表示女性,查询时转换成汉字显示。

语句为:case score when 0 then '女' else '男'  end

3、case when 条件表达式:千万不要忘记写end

CASE 
	WHEN condition THEN result1  ELSE result2
END

SELECT name,score,(CASE 
    WHEN score>=90 THEN '优秀' 
    WHEN score>=80 THEN '良好' 
    WHEN score>=60 THEN '及格' 
    ELSE '不及格' END) level 
FROM score


select name,score,
sum(case when sex = 0 then 1 else 0 end) as '女生人数',
sum(case when sex = 1 then 1 else 0 end) as '男生人数',
sum(case when score >60 and sex = 0 then 1 else 0 end) as '女生及格人数',
sum(case when score > 60 and sex = 1 then 1 else 0 end) as '男生及格人数'
from score

4、和聚合函数一起使用:统计女生人数,统计男生人数

【postgresql】一些函数记录_第1张图片

5、nvl函数:nvl(表达式1,表达式2),如果表达式1不为空,则返回表达式1,如果表达式1为空,则返回表达式2,表达式1和2必须是同一种数据类型,可以是数字型,字符型,和日期型,字段2


数字型:NVL(comm,1)
字符型:NVL(TO_CHAT(comm),‘No Commission’)
日期型:NVL(hiredate,‘31-DEC-99’)

例如: NVL(comm,1)
如果comm为空,就返回1。如果 comm 不为空(null),就返回表达式 comm的值;
 

6、decode函数:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

比如,decode(Name,'其他其他',1,'其他',15,'其他的',16) as type,这个比casewhen更简单,但是casewhen更加灵活

7、navicat 下自动插入数据更新时间,设置的数据类型一定要是timestamp,函数可以是now,也可以是 current _stamp或者current_time

【postgresql】一些函数记录_第2张图片

时间函数:

select now();
select CURRENT_DATE;
select CURRENT_TIME;
select CURRENT_TIMESTAMP;
select CURRENT_TIME(precision);
select CURRENT_TIMESTAMP(precision);
select LOCALTIME;
select LOCALTIMESTAMP;
select LOCALTIME(precision);
select LOCALTIMESTAMP(precision);

8、create table tmp_result_01  as select xxx把查询结果放入新表中

9、group by 1

你可能感兴趣的:(java,开发语言)