雨润心灵,哲思天下

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
        在具体应用中我们常用数值来标识各个状态,如 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控件显示数据时,就不必要进行相应的转换逻辑了。

posted on 2007-09-16 11:11  雨哲  阅读(680)  评论(0编辑  收藏  举报