1. 程式人生 > >Oracle case when 實現資料欄位資料的判斷過濾

Oracle case when 實現資料欄位資料的判斷過濾

需求

現在有一份管線資料,表中含有欄位buildTime說明了管線的建設日期,我們需要按時間段統計管線的資料
這是,我們需要對管線表中建設日期所對應的欄位進行分類
實現如下:
這裡寫圖片描述

實現

對現有的資料進行分類判斷過濾,使用到了 case when

case when

case when 實現了對資料的不同範圍進行判斷過濾並重新規範的過程,類似於 while(個人理解)
語法:

  CASE
  WHEN condition1 THEN result1
  WHEN condistion2 THEN result2
  ...
  WHEN condistionN THEN resultN
  ELSE default_result
  END as judgeName //命名別名

上圖實現

select  nvl(cd, 0) as cd,
    case
       when jsnd between
           to_date(2007-12-31 000000', 'yyyy-mm-dd HH24miss') and
            to_date('2017-12-31 000000', 'yyyy-mm-dd HH24miss') then
        '10'
       when jsnd between
            to_date('1987-12-31 000000', 'yyyy-mm-dd HH24miss') and
            to_date('
2007-12-31 000000', 'yyyy-mm-dd HH24miss') then '1030' when jsnd between to_date('1967-12-31 000000', 'yyyy-mm-dd HH24miss') and to_date('1987-12-31 000000', 'yyyy-mm-dd HH24miss') then '3050' when jsnd to_date('1967-12-31 000000', 'yyyy-mm-dd HH24miss') then '
50' else 'unkown' end as timeClassification from CLZHGWSDE.JS_GX_PL) GX

相關推薦

Oracle case when 實現資料資料判斷過濾

需求 現在有一份管線資料,表中含有欄位buildTime說明了管線的建設日期,我們需要按時間段統計管線的資料 這是,我們需要對管線表中建設日期所對應的欄位進行分類 實現如下: 實現 對現有的資料進行分類判斷過濾,使用到了 case when ca

mysql case when 統計某不同值的數量

SELECT COACH_NAME, sum(CASE WHEN STATE = 0 THEN 1 ELSE 0 END) AS '0',    sum (CASE WHEN STATE = 1 THEN 1 ELSE 0 END) AS '1',  

Oracle查詢所有的資料型別

查詢到的去重的資料型別: SELECT distinct DATA_TYPE from user_tab_cols 查詢Oracle支援的所有欄位型別: select column_name,data_type,data_length from all_tab_columns

Oracle常用資料型別/to_char函式

常用欄位資料型別: char 1.表示固定長度的字串 2.列長度可以是1到2000個位元組 varchar2 1.表示可變長度的字串 2.最大長度為4000位元組 char和varchar的區別(主要是資料相容與否的問題): varchar2是oracle提供的獨

Oracle資料庫資料拆分成多行(REGEXP_SUBSTR函式)

做多選功能時為了簡便,會在某個欄位中儲存多個值,儲存時雖然省事,但後續的查詢統計時還需要拆分資料才行,因此這時需要將欄位內的值分成多行以便後續使用。 下面這個例子實現了欄位內資料的拆分: --建立測試表 create table t_test( t_type_id varchar2

oracle中更改資料型別

–新增臨時列  alter table tablename add filedname_temp number(2); –將臨時列的值置空 update zyt set id_temp=null; -----#alter table tablename modify fil

c# 對oracle插入資料過長超出限制的解決方案

通過建立儲存過程的方法解決問題,如下所示,儲存過程的名字為insertGEO,有4個輸入引數,Childrens,RingInParent直接通過sql語句插入時,欄位值過長會報錯,所以先在資料庫中建立儲存過程 create or replace procedure insertGEO (v_i

資料脫敏——基於Java自定義註解實現日誌脫敏

  上文說了資料過敏主要有兩個思路:第一個就是在序列化實體之前先把需要脫敏的欄位進行處理,之後正常序列化;第二個就是在實體序列化的時候,對要脫敏的欄位進行處理。 脫敏實現思路   這裡探討第一種方法,用基於自定義註解的方式實現日誌脫敏。   要對

oracle中,把一個表中指定的資料更新到另外一張表裡面

一、建立表結構 create table test1( id varchar2(10) , val varchar2(20), name varchar2(20)); create table test2( id varchar2(10), val varchar2(20) ,

oracle union查詢中BLOB出錯問題,ora-00932:資料型別不一致:應為 -,但卻獲得BLOB

select blobf from table1 union select blobf from table2 出錯:ora-00932:資料型別不一致:應為 -,但卻獲得BLOB 因為:union會對欄位型別進行比較(相等和不等判斷),oracle不支援對大資料型別的比較操

oracle建立檢視包含clob,報錯:資料型別不一致:應為-,但卻獲得CLOB

在oracle中建立檢視的時候,語句中包含有clob型別的欄位。檢視建立語句大概如下: CREATE OR REPLACE FORCE VIEW "T_PROJECTS" ("ID", "NAME","DSC_INFO") AS ( select a.id,a.name,

ORACLE 批量插入 主鍵為自增序列 有幾個資料從其他表匯入的 有幾個是固定的

ORACLE 批量插入   主鍵為自增序列   有幾個欄位資料從其他表匯入的 有幾個是固定的 insert into CUSTOMERPRODUCTCATEGORY----------目標表  (CUSTOMERPRODUCTCATEGORYID,ORIGINALID,WE

[]Oracle]查詢表中每隔是否主鍵,查詢表名、名、主鍵、資料型別、是否為空和註釋

select    utc.column_name as 欄位名,utc.data_type 資料型別,utc.data_length 最大長度,CASE utc.nullable WHEN 'N' THEN '否' ELSE '是' END 可空,utc.data_defa

Oracle中查詢Date型別資料

利用函式:to_char和to_date select * from  [表名] where to_char([需要查詢的欄位],'yyyyMMdd') between '20130601' and '20130630' select * from  [表名] 

mongodb修改資料型別

今天遇到一個很尷尬的應用場景,因為新架構之前,我們mongodb的yfy_score_record表中DATE_TIME欄位的型別是string型別,後來上了新架構之後DATE_TIME欄位變成DateTime型別了,然後統計某一個月內資料的時候就出現問題了,因為string型別的資料查詢方式和

Golang如何優雅地提取JSON資料中需要的資料

JSON資料是我們開發中經常遇到的一種資料格式,一般通用的做法是,我們通過建立實體類,然後利用一些框架將JSON資料轉化為對應的實體類物件,這樣我們就可以方便地訪問JSON資料了。 但是有些時候,一個JSON物件很大,欄位很多,而我們可能只需要其中的幾個欄位值,這在呼叫第三方API時可能經常

mysql按時間段統計資料 為時間戳

        SELECT FROM_UNIXTIME(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM role GROUP BY weeks;         

mysql資料型別設定

               下載LOFTER我的照片書  | 1、選項是可列舉的,設定成enum型別可以提高資料庫效能   &n

MySQL資料型別

欄位是列表中 的列名,列是表的重要組成部分,MySQL資料庫中,列中的每一個數據都需要指定其所屬型別,以確保資料的準確性和系統 的穩定性。 欄位資料型別分為三類:數值型別、字串型別、時間日期型別。 數值型: 整數: tinyint(1byte --> -128 —— 127 ) tin

django資料查詢

5.2.4 欄位查詢 相當於sql語句中where子句,它可以為filter、exclude和get方法提供引數。 屬性名稱__比較運算子=值 #是兩個下劃線 操作符 說明 示例