日期:2014-05-16  浏览次数:20428 次

oracl数据库在用select 语句做查询的时候,对字段进行判断
很久没有更新博客了,前段时间自已偷懒了,没有学多少技术的东西,现在补回来,好了话不多说!

今天在用PLSQL写查询语句的时候,想对一个字段的状态进行状态描述,就是数据库里存的是  1或0 之类的状态编号,现在要转化成比如  '正常','冻结' 之类的传递给前台页面直接显示。(当然在前台也可以做,不过要遍历下再转换)。刚开始想用游标实现,但是有点麻烦,想看下ORACLE有没有直接在SELECT语句里做操作的.SQL  SERVER 里面有  case when (条件) then (输出值)  else (输出值) end ;  (以前是用SQL SERVER 2005) 就在网上查了下ORCALE里面有没有这种类似的方法,就不用游标了(高手勿喷!) 结果查到了 decode 函数 直接先上一个可以运行的SQL语句  select pid,pname,decode(isvalid,1,'正常',2,'冻结') from lv_position  。下面说明一下decode的格式  decode([列名或要判断的值],[要比对的值],[输出结果],[第二个要比对的值],[第二个输出结果])  这是decode函数的使用方法。