欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

oracle中關(guān)于case?when?then的使用

 更新時(shí)間:2023年03月01日 10:01:15   作者:yohonn  
這篇文章主要介紹了oracle中關(guān)于case?when?then的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

關(guān)于case when then的使用

1.首先創(chuàng)建兩個(gè)表emp,emp_bonus如下:

(1)emp_bonus:

>

(2)emp:

2.首先對emp_bonus表進(jìn)行操作:

select emp_bonus.*,(case when empno=7934 then 0
            when empno=7839 then 1 else -1
           end) as asd from emp_bonus

效果:


可見case when then 的作用或者效果是根據(jù)條件重新添加了一列!其實(shí)這一列可以的多表關(guān)聯(lián)中進(jìn)行其他有效的操作。

3.如,員工的獎(jiǎng)金根據(jù)emp_bonus中的type來計(jì)算,type=1則工資的10%作為獎(jiǎng)金,type=2則工資的20%作為獎(jiǎng)金,以此類推……現(xiàn)在要求返回10號(hào)部門的員工工資及獎(jiǎng)金:

select e.deptno,e.deptno,e.ename,e.sal,
    (e.sal*case 
      when eb.type=1 then 0.1
      when eb.type=2 then 0.2
      when eb.type=3 then 0.3 end) as bonus from emp e inner join emp_bonus eb on(e.empno=eb.empno) and e.deptno=10

可見,兩表關(guān)聯(lián)后的bonus列進(jìn)行了操作……

Oracle語句中case when起別名

配合前端框架,前后臺(tái)查出來的數(shù)據(jù)是經(jīng)常配合的,比如一個(gè)黨員信息列表,針對性別字段,后臺(tái)查出來的是0或者1代表男和女,一種方式是前臺(tái)針對0,1進(jìn)行文字轉(zhuǎn)換,像easyui和layui等都提供相應(yīng)的js寫法。

easyui 在datagrid 的columns:數(shù)組里面使用formatter函數(shù)實(shí)現(xiàn)。

{width : '5%',title : '性別',field : 'sex',sortable : true,formatter:function(value,row,index){
                switch (value) {
                case '1':
                    return '<font >男</font>';
                    break;
                default:
                    return '<font >女</font>';
                    break;
                }
            }},

在layui里可以使用layui模板語法實(shí)現(xiàn)。

window.demoTable = table.render({
                                        elem : '#idTest',
                                        id : 'idTest',
                                        url : '<%=path%>/partyMember/getPartyMembersByOrgCode',
                                        width : 1500,
                                        height : 650,
                                        cols : [ [ //標(biāo)題欄
                                            {checkbox : true,LAY_CHECKED : false,filter : 'test'}, 
                                            {field : 'PM_CODE',title : '黨員編號(hào)',width : 220,sort : true,align : 'center'}, 
                                            {field : 'NAME',title : '黨員姓名',width : 120,sort : true,align : 'center'}, 
                                            {field : 'SEX',title : '性別',width : 80,sort : true,align : 'center',templet:'#sexTpl'}, 
                                            {field : 'MOBILE_NO',title : '手機(jī)號(hào)碼',width : 220,sort : true,align : 'center'}, 
                                            {field : 'CODE',title : '組織編碼',width : 220,sort : true,align : 'center'}, 
                                            {field : 'ORG_NAME',title : '所在支部',width : 200,sort : true,align : 'center'}, 
                                            {fixed : 'right',title : '操作',width : 200,align : 'center',toolbar : '#barDemo'} ] ],
                                        page : true //是否顯示分頁
                                        ,
                                        limits : [ 15, 20,50, 100 ],
                                        limit : 15
                                    //每頁默認(rèn)顯示的數(shù)量
                                    });

<script type="text/html" id="sexTpl">
{{#  if(d.SEX ==0){ }}
     女
{{#  } else { }}
    男
{{#  } }}
</script>

第二種方法:直接數(shù)據(jù)庫里返回文字信息。

在這種情況下遇到了case when 語句別名的問題,在此博客記錄下,希望各位也留意。

剛開始寫的語句

select name,case sex when '0' then '男' else '女' end as '性別' from t_member_base where mobile_tel='13707979894'

報(bào)如下錯(cuò)誤:

ORA-00923: 未找到要求的 FROM 關(guān)鍵字
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:
行 1 列 60 出錯(cuò)

查了相關(guān)資料才知道,oracle case when 取別名是不能帶as的,去掉as即可。

而且性別還不能帶單引號(hào),一般程序里都是取英文,如果是漢子,還不能帶單引號(hào),直接漢子即可,說明下。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ORACLE學(xué)習(xí)筆記-添加更新數(shù)據(jù)函數(shù)篇

    ORACLE學(xué)習(xí)筆記-添加更新數(shù)據(jù)函數(shù)篇

    Oracle系統(tǒng),即是以O(shè)racle關(guān)系數(shù)據(jù)庫為數(shù)據(jù)存儲(chǔ)和管理作為構(gòu)架基礎(chǔ),構(gòu)建出的數(shù)據(jù)庫管理系統(tǒng)。世界第一個(gè)支持SQL語言的商業(yè)數(shù)據(jù)庫,定位于高端工作站,以及作為服務(wù)器的小型計(jì)算機(jī),Oracle公司的整個(gè)產(chǎn)品線包括數(shù)據(jù)庫服務(wù)器、企業(yè)商務(wù)應(yīng)用套件、應(yīng)用開發(fā)和決策支持工具
    2014-08-08
  • Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)步驟詳解

    Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)步驟詳解

    這篇文章主要給大家介紹了關(guān)于Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)的相關(guān)資料,Oracle表對數(shù)據(jù)進(jìn)行月度分區(qū)是一種將數(shù)據(jù)分組的有效方法,此方法是將數(shù)據(jù)根據(jù)它們所屬時(shí)間段將其存儲(chǔ)為不同分區(qū),需要的朋友可以參考下
    2023-11-11
  • Oracle數(shù)據(jù)庫遷移方案

    Oracle數(shù)據(jù)庫遷移方案

    這篇文章主要介紹了Oracle數(shù)據(jù)庫遷移方案的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • 探討:Oracle數(shù)據(jù)庫查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語句

    探討:Oracle數(shù)據(jù)庫查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語句

    本篇文章是對Oracle數(shù)據(jù)庫查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語句進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Oracle 日志挖掘(LogMiner)使用詳解

    Oracle 日志挖掘(LogMiner)使用詳解

    這篇文章主要介紹了Oracle 日志挖掘(LogMiner)使用,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • 使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法

    使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法

    這篇文章主要介紹了使用JDBC4.0操作Oracle中BLOB類型數(shù)據(jù)的方法,我們需要使用ojdbc6.jar包,本文介紹的非常詳細(xì),需要的朋友可以參考下
    2016-08-08
  • centos下Oracle11G圖文安裝教程

    centos下Oracle11G圖文安裝教程

    這篇文章主要為大家詳細(xì)介紹了centos下Oracle11G圖文安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Oracle 查詢死鎖并解鎖的終極處理方法

    Oracle 查詢死鎖并解鎖的終極處理方法

    本文主要介紹Oracle中如何查詢死鎖,并殺死這條進(jìn)程解鎖的方法,希望能幫到大家。
    2016-05-05
  • 日常收集整理oracle trunc 函數(shù)處理日期格式(很實(shí)用)

    日常收集整理oracle trunc 函數(shù)處理日期格式(很實(shí)用)

    關(guān)于oracle trunc函數(shù)小編日常收集整理了些,下面把oracle trunc 函數(shù)處理日期格式的相關(guān)介紹分享給大家,感興趣的朋友參考下
    2015-10-10
  • Oracle表空間大小如何查看及擴(kuò)增

    Oracle表空間大小如何查看及擴(kuò)增

    Oracle數(shù)據(jù)庫中,表空間是存儲(chǔ)數(shù)據(jù)對象的關(guān)鍵結(jié)構(gòu),管理表空間包括監(jiān)控其大小并根據(jù)需要進(jìn)行擴(kuò)展,以確保數(shù)據(jù)庫運(yùn)行高效,查看表空間大小,可以通過SQL查詢或使用Oracle Enterprise Manager,擴(kuò)展表空間的方法有手動(dòng)增加數(shù)據(jù)文件
    2024-10-10

最新評(píng)論