我是學習Oracle SQL新人,請教各位大神,我想在現有表基礎上新增三個欄位,“是否實名”,“手機狀態”,和“在網時長”。
具體需求:
是否實名:如進行過實名,顯示“是”;沒有則“否;如果沒有查詢到結果,則為空”。
手機狀態:需要顯示“未啟用”,“正常”,“停機”,“不在網”,“”或“無法查詢”。
在網時長:需要顯示“1個月以下”,“2個月”,“3-6個月”,“7-12個月”,“13-24個月”,“25-36個月”,“37個月以上”,“手機不在網”或“該手機號碼不存在”。
請教各位大神,具體代碼應該怎么寫,謝謝!
uj5u.com熱心網友回復:
增加欄位用這樣的語法alter table t add column 實名 varchar(20)
要顯示“是” 和 “否”,這些資料從哪里來的?
uj5u.com熱心網友回復:
還有個問題,現在表里面沒有`是否實名`的欄位,如果要增加這個欄位 。條件是如果實名,顯示 是,如果未進行過實名,現實否。如果沒有查詢到結果,顯示為空。 如果只是添加這樣的欄位,不判斷,那應該怎么寫呢uj5u.com熱心網友回復:
你這么說是沒辦法具體說怎么寫的,從你的意思看,是要有具體資料得,這些資料從哪里來呢uj5u.com熱心網友回復:
應該是打標簽吧,例如case when b.serv_number is not null then 'Y' else 'N' end is_onlineuj5u.com熱心網友回復:
添加欄位的語法:alter table tablename add (column datatype [default value][null/not null],….);你把欄位加上,表結構列下,SQL陳述句可以作好相應的邏輯判斷。
uj5u.com熱心網友回復:
給你個參考建表:-- Create table
create table T_SP_SQL_RESULT
(
project_id VARCHAR2(40),
select_id VARCHAR2(40),
data_from VARCHAR2(40),
instance_name VARCHAR2(100),
text_st LONG,
if_correct VARCHAR2(40),
etl_sige VARCHAR2(40),
daylog DATE,
branchid VARCHAR2(40),
starttime0 DATE,
starttime1 VARCHAR2(40),
starttime2 VARCHAR2(40),
starttime3 VARCHAR2(40),
starttime4 DATE,
starttime5 DATE,
endtime DATE,
total NUMBER,
data_no_num NUMBER,
fail_record_num NUMBER,
fail_data_no_num NUMBER,
update_data_no_num NUMBER,
db_table_name VARCHAR2(200),
id NUMBER,
type_fage NUMBER
)
tablespace TBS_URS_SERVICE
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Add comments to the columns
comment on column T_SP_SQL_RESULT.project_id
is '專案編號';
comment on column T_SP_SQL_RESULT.select_id
is '批示號';
comment on column T_SP_SQL_RESULT.data_from
is '資料來源 v8 ,萬能,短險';
comment on column T_SP_SQL_RESULT.instance_name
is '實體';
comment on column T_SP_SQL_RESULT.text_st
is 'sql 文本';
comment on column T_SP_SQL_RESULT.if_correct
is '是否正確';
comment on column T_SP_SQL_RESULT.etl_sige
is 'etl 狀態,0初始待,1mssql運行中,2mssql 運行同步完,3msqll推送完成,4oracle 處理中,6完成,9失敗';
comment on column T_SP_SQL_RESULT.daylog
is '專案批示記錄數更新時間';
comment on column T_SP_SQL_RESULT.branchid
is '機構號';
comment on column T_SP_SQL_RESULT.starttime0
is '0初始待時間';
comment on column T_SP_SQL_RESULT.starttime1
is '1mssql運行中時間,mssql端更新';
comment on column T_SP_SQL_RESULT.starttime2
is '2mssql 運行同步完時間,mssql端更新';
comment on column T_SP_SQL_RESULT.starttime3
is '3msqll推送完成時間,mssql端更新';
comment on column T_SP_SQL_RESULT.starttime4
is '4oracle 處理開始處理時間';
comment on column T_SP_SQL_RESULT.endtime
is '結束時間';
comment on column T_SP_SQL_RESULT.total
is '專案批示記錄數';
comment on column T_SP_SQL_RESULT.data_no_num
is '專案批示記錄數,按保單號去重匯總';
comment on column T_SP_SQL_RESULT.fail_record_num
is '失敗總記錄數';
comment on column T_SP_SQL_RESULT.fail_data_no_num
is '失敗保單記錄數';
comment on column T_SP_SQL_RESULT.update_data_no_num
is '更新量';
comment on column T_SP_SQL_RESULT.db_table_name
is '中間表(orace及mssql)';
comment on column T_SP_SQL_RESULT.id
is '編號';
comment on column T_SP_SQL_RESULT.type_fage
is '型別,0為欄位,1為手段';
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/79218.html
標籤:開發
上一篇:plsql匯出dmp檔案報錯
