昨天是平安夜,小家伙仍然为圣诞老人的到来准备了礼物,这是他的传统。每年为了感谢圣诞老人和驯鹿的到来,他都会准备上点心、水果。今年,他认为驯鹿可能需要电力,所以准备了电池给它们享用。
真希望天真一直伴随他的成长!
作为一名老天真,今天给大家分享本周的收获--Decode函数。
先啰嗦一下怎么发现这个函数的,NetSuite论坛上有一个从2007年起的20层楼的帖子,叫做“100 Ways to Use Formula Fields”。我爬了几层,发现了两个好玩的东西,一个是NetSuite的掌门人Evan在早年还真的在论坛上回复技术问题。一个技术企业的前期总是很纯粹,Founder泡论坛,听听抱怨、解决问题。现在NS长大了,此事一去不复返。另一个就是今天的主题--Decode函数。
Decode的意思是De-Code嘛,就是解码。它是一个来自Oracle数据库的特别函数。设计初衷是实现类似于解码的用途。例如:在查询结果中发现
A,那就意味着Apple,返回Apple
B,那就意味着Banana,返回Banana
C,那就意味着Charlie,返回Charlie
就是这样一个东西。其语法如下所示:
基本上看不太懂哈。给个例子吧。例如,我们想在Transaction查询时,把碰到的Date字段用月份表示一下,这样统计报表好看些。实现这样的效果:
实现方式如下:
编辑时,为了看起来舒服,可以这样排版。
就着这个例子,我们解释一下参数:
decode(A=你想比较的字段或值,B=跟A那个值去比较,C=如果A和B两者相同就返回这个值,重复B,重复C...,Z=跟谁都不相同就返回这个值)
decode(to_char({trandate},'MM'), '01','一月', '02','二月', '03','三月','四月后')
你大概会说,这就是简化版的Case When嘛,确实是。但是简洁真好!
行了,分享完毕!祝大家圣诞快乐!没阳的尽量晚,阳的尽快好!