Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END

Oracle SQL 函数使用记录

nvl(列名,替换值)

NVL(column_name,0) 用来判断字段的值是否为null,如果查询的字段值为null,则将其用其他字符代替,效果如下
Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END
Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END

listagg(要合并的列名,分隔符) within group(order by 排序列名 ASC/DESC )

LISTAGG(ENAME, ‘,’) WITHIN GROUP (ORDER BY ENAME)用来合并条件相同的字段值,结果用1行显示,效果如下
Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END
Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END

TO_CHAR(HIREDATE,‘YYYY-MM-DD’)

TO_CHAR()用来转换格式,我这里用来转换日期格式,其他用处暂时不知,效果如下
Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END

CASE WHEN THEN ELSE END

个人觉得是SQL中的if语句吧,效果如下
Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END
根据列JOB为判断条件,满足条件给新列NEW_JOB插入 THEN后面的值,不满足则插入 ELSE后面的值。