为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请教高人oracle中decode的用法,例如下面的句子是什么意思呢?

您好,请教高人oracle中decode的用法,例如下面的句子是什么意思呢?

繁花不似锦 2021-10-13 20:11:38
例如 decode(substr(a.startdate,1,6),'200904',a.rowid)是什么意思
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

decode(substr(a.startdate,1,6),'200904',a.rowid)什么意思?
如果substr(a.startdate,1,6)=‘200904’,函数返回值为a.rowid;
DECODE()函数解释:
DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。
形象点儿,
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)

ELSE
RETURN(缺省值)
END IF



查看完整回答
反对 回复 2021-10-17
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

是只从a.startdate串中截取1到6这几个字符判断是不是200904如果是那么返回a.startdate的物理存储地址

查看完整回答
反对 回复 2021-10-17
  • 2 回答
  • 0 关注
  • 273 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信