含义说明:
(条件,值1,返回值1,值2,返回值2,…值n,返回值n,默认值)
该函数的含义如下:
IF 条件=值 1 THEN
(翻译值1)
ELSIF 条件=值 2 THEN
(翻译值2)
……
ELSIF 条件=值 n THEN
(翻译值 n)
其他
(默认值)
如果结束
(字段或字段操作,值1,值2,值3)
运行该函数的结果是当字段或字段的计算值等于值1时,函数返回值2,否则返回值3
当然值1、值2、值3也可以是表达式,这个功能让一些SQL语句简单多了
使用方法:
1、对比尺寸
(sign(-),-1,,) from dual; –取较小的值
sign()函数根据某个值是0、正数还是负数返回0、1、-1。
例如:
变量 1=10,变量 2=20
然后sign( 1- 2)返回-1,解码结果为“变量1”,达到取较小值的目的
2、该函数用于SQL语句中。功能介绍如下:
该函数类似于一系列嵌套的 IF-THEN-ELSE 语句。依次比较,以此类推。如果匹配第 i 个项目,则返回第 i 个对应的值。如果它不匹配任何值oracle中sign函数用法,则返回。每个值依次求值,如果找到匹配项,则不再对其余值(如果有)进行求值。 NULL 被视为等效于该值。如有必要,将每个值转换为与第一个值相同的数据类型,这也是返回值的类型。
函数在实际开发中非常有用
结合Lpad功能,如何让主键的值自动加1,前面加0
LPAD((count( ),0,1,max(( )+1)),14,’0′) 记录号来自
例如:
(dir,1,0,1) 来自
dir的值是1变0,0变1
比如,我想查看某个班级的男生女生人数?
通常我们这样写:
count(*) from table where 性别 = 男性;
count(*) from table where 性别 = 女性;
如果要一起展示oracle中sign函数用法,需要union,太麻烦了
怎么用,只需要一句话
(,male, 1, 0), (, women, 1, 0) from table
文章来源:https://blog.csdn.net/qingzhongren/article/details/7898862