3.4SQL语句的使用-使用单行函数来定义我们的输出.docx
文本预览下载声明
中括号表示格式模型可写可不写
第一个例子不用格式模型可直接进行转换;
第二例子因为有$与‘,’所以需要加格式模型
第一个例子中要转换的数据中间有空格所以格式模型中要增加空格;
第二个例子表示无论数据中间有多少空格,格式模型中只有一个空格就可以了;
第三个列子表示格式模型中增加fx表示要转换的数据必须严格按照格式模型中的模式进行转换,多一个空格都不行;
嵌套函数
嵌套函数先计算括号内的;
通常来说函数都是有参数的需要在函数后面加括号;
Sysdate函数没有任何参数,不加括号;
General functions通用函数
以上函数是做if。。。else判断的
NVL function
NVL(commission_pct,0)
有2个输入参数,如果第一个参数不是null,它返回的结果就是第一个参数,如果第一个结果是null,它就返回第二个参数。
如果一个公司里有销售与工程师,销售是有提成的,工程师没有提成,上例可以算出公司的提成方式
由于null与任何数计算都为null,在实际运算表示中有些困难,上例把null变为0,用0表示,可以解决一些问题
NVL(hire_date,’01-JAN-97’)
当hire_date有值时返回hire_date,如果为空时返回01-JAN-97
上例如果没有NVL时,年终工资就是null。
NVL2 function
NVL2函数中包含3个参数,第一个参数可以是null或非null,当第一个参数为非null时返回第二个参数,当第一个参数为null时返回第3个参数。
NULLIF function
Nullif函数包含2个参数,如果2个参数相等则返回null值,如果不等则返回第一个参数的值。
COALESCE function 融合函数
用法:函数后可以跟n多个参数,返回结果为,从左往右数,数到第一个非null值返回。
Case 函数
Case函数是sql国际标准,任何数据库case都可以用
Expr 与 expr1 比较,相等返回expr1;与expr2比较,相等返回expr2。。。如果没有相同的返回expr。
如果job_id与it_prog相等,工资上调1.1;
如果job_id与st_clerk相等,工资上调1.15;
如果job_id与sa_rep相等,工资上调1.2‘
如果没有相等的,工资不上调。
Decode 函数
Decode函数是Oracle数据库独有的语句。含义用法与case一样。
计算工资应交的个人所得税。
显示全部