您的位置:首页 > 数据库 > Oracle

Oracle case when 用法

2012-05-30 11:40 387 查看
当使用delphi  的adoquery连接oracle数据库时 要注意了:  SQL 中包含 多个case when 时一定要加括弧呀 否则直接报异常或cpu调试

问题很诡异 同样的SQL 放到PL/SQL里不加括弧就可以执行 一直以为PL里能执行的adoquery也能用 现在看来不是 算是经验吧

SQL 示例如下
select a.MARC_REC_NO,(case marc_use_flag  when '1' then '订购'  when '2' then '待编'  when '3' then '已编'  when '4' then '审校'  end) as marc_use_flag,MARC_TYPE,CATA_OPER,CATA_DATE,LANG_CODE,DOC_TYPE_CODE,M_CALL_NO,M_TITLE,M_AUTHOR,M_PUBLISHER,M_PUB_YEAR,M_ISBN ,b.ASORD_NO,GET_MODE_CODE,CARRIER_CODE,PUBL_FREQ,KIND_NO,(case PERI_TYPE   when '0' then '正常刊'   when '1' then '改名刊'   when '2' then '停刊'   when '3' then '停定刊' end) as PERI_TYPE,PERI_ORD_QTY,PERI_PRICE,PERI_TOTAL_PRICE,REMARK,(case ORD_FLAG   when '0' then '未发订'   when '1' then '已发订' end) as ORD_FLAG from  marc  a ,PERI_ORD_DETL b where a.marc_rec_no =b.marc_rec_no and b.peri_ord_cata_id='4BE9F5BA819749C984CE13D922E22C87'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息