[size=medium]今天,统计kpi的人给小批一下,我在群组中学到几个较有用的函数,记录于此。
[color=red]1. DECODE [/color]
DECODE 就像 IF_THEN_ELSE,比如你有一张 FISH 表,有一列为 DEATH_DATE , 此列在每一行包含鱼的死亡日期为空。假如你想查询为 DEAD 或 ALIVE, DECODE 可以帮到你。
SELETE NAME_OF_FISH, DECODE(DEATH_DATE, null , 'ALIVE', 'DEAD')
LIVING_OR_NOT
FROM FISH;
则如果 DEATH_DATE 的值为空, DECODE 返回值为 'ALIVE', 否则为 'DEAD'
[color=red]2.NVL[/color]
NVL函数可以在一行列中用空值代替一个短语,数字,或日期。
SELECT NAME_OF_FISH, NVL(SEX, 'Unknown') SEX
FROM FISH;
当一条鱼在SEX列中有空值的时候,单词 Unknown 会出现在其位置
[color=red]3.cast[/color]
cast 是进行类型转换的,可以针对各种Oracle数据类型, 修改的是用户的数据类型.
select cast(a as number(8,4)) from t1;
CAST ( expression AS data_type ) [/size]
[color=red]1. DECODE [/color]
DECODE 就像 IF_THEN_ELSE,比如你有一张 FISH 表,有一列为 DEATH_DATE , 此列在每一行包含鱼的死亡日期为空。假如你想查询为 DEAD 或 ALIVE, DECODE 可以帮到你。
SELETE NAME_OF_FISH, DECODE(DEATH_DATE, null , 'ALIVE', 'DEAD')
LIVING_OR_NOT
FROM FISH;
则如果 DEATH_DATE 的值为空, DECODE 返回值为 'ALIVE', 否则为 'DEAD'
[color=red]2.NVL[/color]
NVL函数可以在一行列中用空值代替一个短语,数字,或日期。
SELECT NAME_OF_FISH, NVL(SEX, 'Unknown') SEX
FROM FISH;
当一条鱼在SEX列中有空值的时候,单词 Unknown 会出现在其位置
[color=red]3.cast[/color]
cast 是进行类型转换的,可以针对各种Oracle数据类型, 修改的是用户的数据类型.
select cast(a as number(8,4)) from t1;
CAST ( expression AS data_type ) [/size]