函数与一系列值相同的语句相似(一)?

含义说明:

(条件,值1,返回值1,值2,返回值2,…值n,返回值n,默认值)

该函数的含义如下:

IF 条件=值 1 THEN

(翻译值1)

ELSIF 条件=值 2 THEN

(翻译值2)

……

ELSIF 条件=值 n THEN

(翻译值 n)

其他

(默认值)

如果结束

图片[1]-函数与一系列值相同的语句相似(一)?-4747i站长资讯

(字段或字段操作,值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 被视为等效于该值。如有必要,将每个值转换为与第一个值相同的数据类型,这也是返回值的类型。

图片[2]-函数与一系列值相同的语句相似(一)?-4747i站长资讯

函数在实际开发中非常有用

结合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

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享