ORACLE 语句 怎么加一列 10C

select * from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime,
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
--else '-1'
end ) dqsj
from t_jbhf_ymsq t,
wfprocessinst wf
where t.processinstid= wf.processinstid

) m
where m.dqsj > '2018-06-20 17:44'
and
(case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end )='1'

图片说明
如图,我需要在查询出来的展示列里在加一列,这个列就是最外边where条件后的case when 的结果,现在他的值作为判断等于1了,能起别名什么的也行,只要能出来一列就行,怎么做?

0

8个回答

select * from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime,
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
end ) dqsj,
(case
when (case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
end )>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when (case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
end )<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end ) nowdate1,
from t_jbhf_ymsq t,
wfprocessinst wf
where t.processinstid= wf.processinstid

) m
where m.dqsj > '2018-06-20 17:44'
and
(case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end )='1'

2

你看一下行列互换的方式就知道了

2
select m.*,
(case 
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1' 
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2' 
end) value 
from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime, 
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi') 
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
--else '-1'
end ) dqsj
from t_jbhf_ymsq t,
wfprocessinst wf 
where t.processinstid= wf.processinstid

) m 
where m.dqsj > '2018-06-20 17:44'
and 
(case 
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1' 
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2' 
end )='1' 
2
qq_42238868
qq_42238868 行列互换的方式
大约一年之前 回复
xyt3198
xyt3198 回复Lzjshiqi: 上面的sql是已经改好的了,直接执行试试
大约一年之前 回复
xyt3198
xyt3198 回复Lzjshiqi: 可以了吗?
大约一年之前 回复
Lzjshiqi
Lzjshiqi value
大约一年之前 回复
Lzjshiqi
Lzjshiqi 随便加
大约一年之前 回复
xyt3198
xyt3198 value这一列就是了
大约一年之前 回复

实在不行可以直接用鼠标操作啊 直接点表 然后修改表 试试

1

列名用常量,然后增加一个别名

1

alter可以修改表的属性

0

图形化管理工具就可以了啊

0

在第一个select 里面加上条件后面的case when 设置一个别名做为列输出。
select (case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end ) m_values,m.*
from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime,
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
--else '-1'
end ) dqsj
from t_jbhf_ymsq t,
wfprocessinst wf
where t.processinstid= wf.processinstid

) m
where m.dqsj > '2018-06-20 17:44'
and
(case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end )='1'

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Oracle:SQL语句--对表的操作——添加一个字段 (即 添加 一列)
– 添加一个字段 (即 添加 一列)(未验证在有数据,并且互有主外键时,是否可用)语法:alter table 表名 add(列名(即 字段名) 数据类型及长度);例:alter table T_Student2 add(phone number);
Oracle 添加列、删除列
n--添加一列nALTER TABLE table_name ADD column_1 DATE NOT NULL; nALTER TABLE table_name ADD column_2 VARCHAR2(44) DEFAULT ''; nALTER TABLE table_name ADD column_3 number(28,10); n--添加一列nALTER TABLE table_n...
用SQL统计增加一行或者一列的合计
n n n -- 用SQL统计增加一行或者一列的合计nn-- .方法一nWITH STUDENT ASn (SELECT 'STUDENT1' NAME1, 1 VALUE FROM DUALn UNION ALLn SELECT 'STUDENT2' NAME1, 2 VALUE FROM DUALn UNION ALLn SELECT 'STUDENT3'...
Oracle:SQL语句--对表的操作—— 删除字段(即删除列)
– 删除一个字段(未验证在有数据,并且互有主外键时,是否可用)语法:alter table 表名 drop column 字段名(即列名);例:alter table T_Student2 drop column sex;
ORACLE中给表、列增加注释以及读取注释
在ORACLE中给表、列增加注释以及读取注释rnrn1、给表填加注释:SQL>comment on table 表名 is '表注释";rnrn2、给列加注释:SQL>comment on column 表.列 is '列注释';rnrn3、读取表注释:SQL>select * from user_tab_comments where comments is not null;rnrn4、读取列注
oracle:sql添加合计语句(union)
原表见下图:n查询全部的语句:n SELECT * from BD_MARK_WHEIGHT_EQUIPMENT nn添加合计:nSELECT * from BD_MARK_WHEIGHT_EQUIPMENT nUNIONnSELECT '','合计','','','',to_char(sum(PLUS)),to_char(sum(REDUCE)),'',sum(plus) from BD_MAR...
在oracle中给一个表创建序列的语句
CREATE SEQUENCE test.za005_seq n INCREMENT BY 1 -- 每次加几个 n START WITH 1 -- 从1开始计数 n NOMAXVALUE -- 不设置最大值 n NOCYCLE -- 一直累加,不循环 n CACHE 10;
Oracle select查出需要的数据,并增加一列,定义查出的数据值
select t.daytime,‘2018-2-20’ day1 from test_0219_2 tn查出该表中daytime列的所有值,并为该查询出的数据,增加一列day1,该列值全为2018-2-20nnn
oracle 表间更新列数据的sql语句
表A(id,name,age,home_adders,phone_number) 和 表B(id,name,adders,number) 两张表,两张表有id和name两个相同的字段,并且能够唯一确定一行,将表B中的adders和number信息更新到表A的home_adders和phone_number字段中,语句如下:update A a SET (a.home_adders,a.phone_
Oracle 中对一个表中多个列的增加和删除的sql语句
Oracle 中对一个表中多个列的增加和删除的sql语句:nnnn·增加多个列nnalter   table   表名  add(列名1   VARCHAR2(20),列名2 VARCHAR2(64 char),列名3  VARCHAR2(200));nnn·删除多个列nnalter   table   表名   drop(列名1,列名2,列名3);nnnn·如果增加
oracel 查询语句中新增一列不存在的字段
有时候需要在sql查询结果的基础上新增一列不存在的字段,列值可以自定义。nn比如:查询一张表nnn-- 查询表nselect * from 表名nn现在要在 查询出来的结果中 新增一列 字段值为 '小明'  字段名为 namennn--新增一列 字段值为 '小明' 字段名为 namenselect t.*, '小明' as name from 表名 tnn如果字段名以 下划线 开头,则需要加上 &quot;...
在ORACLE中给已有数据的表增加、修改、删除一个字段(或一个列)或者多个字段(或多个列)的问题
使用数据库为Oraclenn因为在将数据从历史表导入当前表时,因字段个数不对,导致不能导数据。nn一、将历史表的字段增加一个或者多个的SQL语句。nn1、增加一个字段:(增加字段时,只能排在已有字段的后面,不能插到已有字段之间)nnAlter Table t_app_si_addr_12 Add CHG_ADDR_FLAG varchar2(2);nnAlter Table 表名 Add 字段名称...
oracle 添加一列数据从1.。。100
beginrnfor i in 1 .. 100 looprn    insert into table (field) values (i);rn    end loop;rnend;rnrnrnrnrn同时,一个关于在excl表中的设计添加一行的方法rn1)将最上边标题添加到数据库的字段中将数据整体拷贝进去直接上sql 语句rnrncreate table test1 as select *
向原有表中添加不为空列(oracle为例)
在学习工作中,我们会遇到向一些已经使用过程中的表中添加新字段,而且不允许为空。rn这里以某个表为例:rnalter table sys_org add (Is_bottom_gain  char(1)  null) ;rnalter table sys_org add (Is_bottom_unit  char(1)  null) ;rnalter table sys_org add (Belon
ORACLE创建表时添加列说明
使用comment on,举个例子:rncreate table EMPrn(rnempid NUMBERrn);rncomment on table EMPrnis '员工信息'; --添加表描述rncomment on column EMP.empidrnis '员工编号'; --添加列描述
Oracle增加一个排名列(序号列)
Oracle查询时增加一个排名列,对用户活跃率进行排名:select row_number() over(order by act_rate desc) rank,act_rate from act_rate_table;注:rank:排名列别称act_rate:用户活跃率...
给oracle数据库某一列数据的前面或者后面增加字符
1.给某列前面增加字符:rnUPDATE 表名 SET 列名='要添加的字符'||列名rn2.给某列后面增加字符:rnrnUPDATE 表名 SET 列名=列名||'要添加的字符'
oracle中建视图额外增加列
例如在视图v_user中额外增加一列type,给其取值1.create or replace view v_usernasn select *, '1' type from user;
Oracle 同一列的字符串值相加-列转行函数 Listagg()
Oracle函数 LISTAGG()rn这是一个Oracle的列值转化为行值函数。rnrn基础用法rnLISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)  rnrn用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来。非常方便。rnrn实际用例rnSELECT LISTAGG(EDI_TRANS_ID,'&') WITHIN G
Oracle 去掉联合主键中的一列
Oracle 去掉联合主键中的一列
Oracle使用row_number()函数查询时增加序号列
使用Oracle自带的row_number()函数能够实现自动增加序号列的要求,但是同时引发一个问题,如果我们查询出来的数据需要使用Order By排序的话,那么我们会发现新增加的序号列是乱序的,它会根据我们Order By后面的字段重新排序,那么怎么解决这一问题呢。rn    很简单,我们再加上根据Order By排序就可以了。rn    select row_number() over(ORD
SQL - 在查询结果中新增一列序号
我们经常会遇到这样一个问题,当从数据库查询出相应的数据后,没有唯一序号列,但有些前端框架会要求返回有唯一序号,无论这一列的序号是有序的还是无序的,只要保证唯一就可以。那我知道的有下面几种办法:1. 使用 数据库自带的序号函数不同数据库的序号函数不一样,postgresql 是 ROW_NUMBER() OVER ()。特点是 自增有序SELECTn ROW_NUMBER() OVER () AS ...
Mysql、oracle、Sybase数据库两列合并成一列的sql语句
Mysql、oracle、Sybase数据库两列合并成一列的sql语句
oracle给已有表添加主键
1, 创建序列名 create sequence customer_id_seqn INCREMENT BY 1 -- 每次加几个 n START WITH 1 -- 从1开始计数 n NOMAXVALUE -- 不设置最大值 n NOCYCLE -- 一直累加,不循环 n CACHE 10;--缓...
ORACLE中每个分组后加个合计,最后总合计的GROUP BY rollup,和中文排序
参考代码如下rnSELECT LOCAL_NAME ,n DEPT_DISTINGUISH_NAME ,n SUM(TOTAL_PAY_SUM_R_LDC) TOTAL_PAY_SUM_R_LDC ,n SUM(BASE_PAY_R_LDC) BASE_PAY_R_LDC FROM PA_SUMMARY_B04n WHERE PA_MONTH='201509'n GROU
MySQL数据库——使用SQL语句在指定列后添加列
alter table tablename add column columnname varchar(20) not null after somecolumn;注:这是MySQL的,tablename是要修改的表名,columnname是新增列,varchar(20) 是新增字段类型,not null是指新增字段不能为空值,somecolumn是原来的列...
Oracle 给某列前后添加后缀或者前缀
oracle中的连接符为||正常些update语句就可以了。添加前缀:nupdate 表名 set 字段名='带添加的字符'||字段名称n添加后缀:nupdate 表名 set 字段名=字段名称||'带添加的字符'nok!
sql查询时添加一列固定值
需求: 现有一个表tab,表中有两个字段,a和b,现在想查询时候添加一列c,并且值全部为1nnSELECT T.*,1 as c FROM tab T;
oracle 在查询结果中增加一列不存在的字段
问题背景:nn现在假设有一张表tb_a, 表中字段有aa,bb,cc,nn查询整个表内容:nnnselect a.*nfrom tb_a ann nn现在想在查询出来的结果集中增加一列字段名为name,值为‘张三’的一列nn解决方法nn那么sql语句应该这样写nnnselect a.*,'张三' namenfrom tb_a ann ...
Oracle:SQL语句--对表的操作——修改列名(即修改字段名)
–修改列的列名(即字段名) nalter table 表名 rename column 现列名 to 新列名;
SQLServer查询数据加一列序号
select * from (rn    SELECT ROW_NUMBER() OVER (ORDER BY 单号) AS rowno,* FROM(rn        表名或查询语句rn    ) as arn    where 1=1 ${if(len(daima) == 0,"","and 客户代码 like '%" + daima + "%'")} rn) as b where b.ro
Oracle:SQL语句--对表的操作——修改列的数据类型( 即 修改字段的数据类型)
– 修改列的类型 即 修改字段类型(未验证在有数据,并且互有主外键时,是否可用) n–另外注意 此处 表 不能用 别名! n语法:alter table 表名 modify (字段名(即列名) 数据类型及长度);
在oracle中为shape字段添加索引
表名为oscline,shape字段的格式为sdo_geometrynnINSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)n VALUES ('OSCLINE', 'shape',n    MDSYS.SDO_DIM_ARRAYn      (MDSYS.SDO_DIM_ELEMENT('X', -...
Oracle SQL 两列合并为一列,并且可以自定义添加一些字符
[code=&quot;java&quot;]//表t_clm_case下claim_no列,与表t_clm_object下seq_no列用 - 结合rnselect TC.CLAIM_NO || '-' || TOB.SEQ_NO claimno from t_clm_case tc left join t_clm_object tob on tc.case_id = tob.case_id[/code]rnrn[...
oracle为相同行记录增加序号列(row_number()函数)
 文章提取自 : http://blog.sina.com.cn/s/blog_475839a50100s2q3.htmlrn rn rn表结构及测试数据如下:rnCREATE TABLE t_row_str(rnID INT,rncol VARCHAR2(10));rnINSERT INTO t_row_str VALUES(1,'a');rnINSERT INTO t_row_str VALU...
sql语句在某一字段所有数据后面加上相同的字符串
update 表名 SET 字段名= CONCAT(字段名,"要加的内容") WHERE province = '河北'
Oracle添加/删除唯一约束
Oracle添加/删除唯一约束
sql SELECT 增加行号
法1:SELECT  ID ,rn            rownumb = ROW_NUMBER() OVER ( ORDER BY ID DESC )rn    FROM    dbo.AM_Project Prn    WHERE   IsDel = 1;rnrn   法2: SELECT  ROW_NUMBER() OVER ( ORDER BY ID DESC ) AS rownum, 
mysql怎样利用sql语句对指定列添加unique属性
代码如下rn,注意,表名account和昵称吗nickname都不需要引号rnuse kme_15k; nALTER TABLE account ADD UNIQUE(nickname);
Oracle查询某一列的重复部分
Oracle 查询某一列的重复部分
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 网页制作怎么加视频按钮 大数据加机器学习