更新时间:2023-09-03 08:42:19
你们好,最近小艾特发现有诸多的小伙伴们对于fread函数的用法verilog,fread函数的用法这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 解码功能是ORACLE PL/SQL的强大功能之一。目前只有ORACLE的SQL提供了这个功能,其他数据库厂商的SQL实现都没有。
2、 解码有什么用?我们先构造一个例子。假设我们要给知行员工涨工资。标准为:工资8000元以下的,增加20%;工资8000元以上加15%,通常的做法是,
3、 Select the salary field value in the record first? From employee salary selection to var- salary,
4、 然后通过if-then-else或choose case等流控制语句判断变量var-salary。如果我们使用DECODE函数,那么我们可以省略这些流控制语句,直接通过SQL语句来完成。
5、 Syntax of translation: decoding (value, if1, then1, if2, then2, if3, then3, else), which means that if the value is equal to if1,
6、 DECODE函数的结果返回then1,否则如果它不等于任何if值。乍一看,DECODE只能做等式测试,但是正如你刚才看到的,我们用一些函数或计算来代替value。
7、 可以,你可以让DECODE函数有大于,小于,等于的功能。
8、 该功能的含义如下:
9、 如果条件=值1,则
10、 返回(翻译值1)
11、 Elsfer condition=value 2 and then
12、 返回(翻译值2)
13、 .
14、 Elsfer condition=value then
15、 返回(翻译值n)
16、 ELSE
17、 返回(默认值)
18、 END IF
19、 该功能的含义如下:
20、 如果条件=值1,则
21、 返回(翻译值1)
22、 Elsfer condition=value 2 and then
23、 返回(翻译值2)
24、 .
25、 Elsfer condition=value then
26、 返回(翻译值n)
27、 ELSE
28、 返回(默认值)
29、 END IF
30、 1.比较尺寸
31、 sign()函数返回0、1和-1,具体取决于值是0、正数还是负数。
32、 例如:
33、 变量1=10,变量2=20。
34、 然后sign(变量1-变量2)返回-1,decode的解码结果为“变量1”,达到取较小值的目的。
35、 2、表、视图结构转化
36、 现有一个商品销售表sale,表结构为:
37、 month char(6) --月份
38、 sellnumber(10,2) --月销售金额
39、 现有数据为:
40、 2000011000
41、 2000021100
42、 2000031200
43、 2000041300
44、 2000051400
45、 2000061500
46、 2000071600
47、 2001011100
48、 2002021200
49、 2003011300
50、 想要转化为以下结构的数据:
51、 year char(4) --年份
52、 month1number(10,2) --1月销售金额
53、 month2number(10,2) --2月销售金额
54、 month3number(10,2) --3月销售金额
55、 month4number(10,2) --4月销售金额
56、 month5number(10,2) --5月销售金额
57、 month6number(10,2) --6月销售金额
58、 month7number(10,2) --7月销售金额
59、 month8number(10,2) --8月销售金额
60、 month9number(10,2) --9月销售金额
61、 month10number(10,2) --10月销售金额
62、 month11number(10,2) --11月销售金额
63、 month12number(10,2) --12月销售金额
64、 结构转化的SQL语句为:
65、 create or replace view
66、 v_sale(year,month1,month2,month3,month4,month5,month6,month7,month8,month9,month10,month11,month12)
67、 as
68、 select
69、 substrb(month,1,4),
70、 sum(decode(substrb(month,5,2),'01',sell,0)),
71、 sum(decode(substrb(month,5,2),'02',sell,0)),
72、 sum(decode(substrb(month,5,2),'03',sell,0)),
73、 sum(decode(substrb(month,5,2),'04',sell,0)),
74、 补充1:
75、 有学生成绩表student,现在要用decode函数实现以下几个功能:成绩85,显示优秀;70显示良好;60及格;否则是不及格。
76、 假设student的编号为id,成绩为score,那么:
77、 select id, decode(sign(score-85),1,'优秀',0,'优秀',-1,
78、 decode(sign(score-70),1,'良好',0,'良好',-1,
79、 decode(sign(score-60),1,'及格',0,'及格',-1,'不及格')))
80、 from student;
81、 补充2:
82、 Decode函数的语法结构如下:
83、 decode (expression, search_1, result_1)
84、 decode (expression, search_1, result_1, search_2, result_2)
85、 decode (expression, search_1, result_1, search_2, result_2, search_n, result_n) decode (expression, search_1, result_1, default)
86、 decode (expression, search_1, result_1, search_2, result_2, default)
87、 decode (expression, search_1, result_1, search_2, result_2, search_n, result_n, default)
88、 decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
89、 以下是一个简单测试,用于说明Decode函数的用法:
90、 SQL create table t as select username,default_tablespace,lock_date from dba_users;
91、 Table created.
92、 SQL select * from t;
93、 USERNAME DEFAULT_TABLESPACE LOCK_DATE
94、 ------------------------------ ------------------------------ ---------
95、 SYS SYSTEM
96、 SYSTEM SYSTEM
97、 OUTLN SYSTEM
98、 CSMIG SYSTEM
99、 SCOTT SYSTEM
100、 EYGLE USERS
101、 DBSNMP SYSTEM
102、 WMSYS SYSTEM 20-OCT-04
103、 8 rows selected.
104、 SQL select username,decode(lock_date,null,'unlocked','locked') status from t;
105、 USERNAME STATUS
106、 ------------------------------ --------
107、 SYS unlocked
108、 SYSTEM unlocked
109、 OUTLN unlocked
110、 CSMIG unlocked
111、 SCOTT unlocked
112、 EYGLE unlocked
113、 DBSNMP unlocked
114、 WMSYS locked
115、 8 rows selected.
116、 SQL select username,decode(lock_date,null,'unlocked') status from t;
117、 USERNAME STATUS
118、 ------------------------------ --------
119、 SYS unlocked
120、 SYSTEM unlocked
121、 OUTLN unlocked
122、 CSMIG unlocked
123、 SCOTT unlocked
124、 EYGLE unlocked
125、 DBSNMP unlocked
126、 WMSYS
127、 8 rows selected.
以上就是fread函数的用法这篇文章的一些介绍,希望对大家有所帮助。