您的位置:首页 > 数据库

各种数据库对查询字段的简单逻辑处理

2007-09-16 11:11 274 查看
在具体应用中我们常用数值来标识各个状态,如 0 表示'男',1 表示'女'等等,或者用boolean类型表示一个逻辑的是或者否状态,为了让最终用户直观的看到结果,显然,对数据库中的字段值做简单的判断处理是个好的习惯。在Access、SqlServer和Oracle中分别可以做如下处理:

Access中用 select IIF([字段]=0,'男',IIF([字段]=1,'女')) as 别名 from table,而且我们可以加入更丰富的处理,

SqlServer中用 select case when 字段=0 then '男' else '女' end as 别名 from table

Oracle中和SqlServer语法类似 select case when 字段=0 then '男' else '女' end as 别名 from table,多个情况可以用多个when then语句处理

在上述处理思路指引下,我们还可以采用更丰富的处理,如加入联表查询,以Access为例,如满足某个条件时从另一个表中选取数据,满足其他条件时再从另外一个表.....如:

select IIF([status]=0,(select 字段 from otherTable where ID=1) ,IIF([status]=1,'女')) as 别名 from table

这样,便可以在数据库中便处理部分应用逻辑,节省程序处理的复杂性,比如在结合.NET的GridView控件显示数据时,就不必要进行相应的转换逻辑了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐