c# 有decode函数么
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 有decode函数么相关的知识,希望对你有一定的参考价值。
string a; 字符串啊里面是json格式的数据, 能不能用decode这样的函数解析json数据啊,如果没有改怎么做呢1:using System.Web.Script.Serialization;这个我在.NET引用不到, 2:我下载了Newtonsoft.Json.dll并且添加引用using Newtonsoft.Json; 但是当我 写:Httppostmess deserializedProduct = (Httppostmess)javascriptConvert.DeserializeObject(num, typeof(Httppostmess)); 时提示说:上下文中不存在javascriptConvert
参考技术A c#支持有decode函数
DECODE函数,是ORACLE公司的SQL软件ORACLE
PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。
函数介绍:
DECODE函数是ORACLE
PL/SQL的功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能。DECODE有什么用途呢?
先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的加20%;工资在8000元或以上的加15%,通常的做法是,先选出记录中的工资字段值
--->select
salary
into
var-salary
from
employee,然后对变量var-salary用if-then-else或
case
when
then
else
end之类的流控制语句进行判断。
如果用DECODE函数,那么我们就可以把这些流控制语句省略,通过SQL语句就可以直接完成。如下:
select
decode(sign(salary
-
8000),1,salary*1.15,-1,salary*1.2,salary*1.15)
from
employee
是不是很简洁?
DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE
只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。
DECODE
中的if-then-else逻辑:
在逻辑编程中,经常用到If
–
Then
–Else
进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。它的语法如下:
DECODE(value,
if1,
then1,
if2,then2,
if3,then3,
.
.
.
else
)
Value
代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode
函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then
配对。如果value结果不等于给出的任何配对时,Decode
结果就返回else
。
需要注意的是,这里的if、then及else
都可以是函数或计算表达式。
DECODE
的简单例子:
Oracle系统中就有许多数据字典是使用decode
思想设计的,比如记录会话信息的V$SESSION数据字典视图就是这样。我们从《Oracle8i/9i
Reference》资料中了解到,当用户登录成功后在V$SESSION中就有该用户的相应记录,但用户所进行的命令操作在该视图中只记录命令的代码(0—没有任何操作,2—Insert…),而不是具体的命令关键字。因此,我们需要了解当前各个用户的名字及他们所进行的操作时,要用下面命令才能得到详细的结果:
select
sid,serial#,username,
DECODE(command,
0,’None’,
2,’Insert’,
3,’Select’,
6,’Update’,
7,’Delete’,
8,’Drop’,
‘Other’)
command
from
v$session
where
username
is
not
null;
例子2:
DECODE(VALUE,'0','1','2')
若value为0,则为1,否则为2
以上是关于c# 有decode函数么的主要内容,如果未能解决你的问题,请参考以下文章