当前位置: 代码迷 >> DB2 >> 满分问两个有关问题
  详细解决方案

满分问两个有关问题

热度:7788   发布时间:2013-02-26 00:00:00.0
满分问两个问题
1、select to_char(sysdate-2,'yyyymm') 这些语法怎样可以查询出来。我在mssql里 使用 select '1' 是可以行的。
2、select * from VIEW_TD_CS_BIZ_ACCEPT_EVT_`to_char(sysdate-2,'yyyymm')

VIEW_TD_CS_BIZ_ACCEPT_EVT_`to_char(sysdate-2,'yyyymm')这个报错。。是什么回事?
要怎样改。
我的db2 是在windows 下的 9.7 的 express 版本。

------解决方案--------------------------------------------------------
1、
select distinct to_char(sysdate-2,'yyyymm') from dual
or
select distinct to_char(sysdate-2,'yyyymm') from 任意已知表

2、select *,to_char(sysdate-2,'yyyymm') from VIEW_TD_CS_BIZ_ACCEPT_EVT_
VIEW_TD_CS_BIZ_ACCEPT_EVT_:是表>你要达到什么目的


------解决方案--------------------------------------------------------
SET ASQL='select * from VIEW_TD_CS_BIZ_ACCEPT_EVT_' || to_char(sysdate-2,'yyyymm');
PREPARE S1 FROM ASQL;
EXECUTE S1;
------解决方案--------------------------------------------------------
要用动态SQL语句方式,不知道DB2是否支持匿名块,如不支持,在SP中执行
ASQL='select * from VIEW_TD_CS_BIZ_ACCEPT_EVT_' || to_char(sysdate-2,'yyyymm');
PREPARE S1 FROM ASQL;
EXECUTE S1;
------解决方案--------------------------------------------------------
探讨
但是 我不是 单一的这样操作。
select * from VIEW_TD_CS_BIZ_ACCEPT_EVT_`to_char(sysdate-2,'yyyymm')

有这样的实现方案吗?
就是不要转成字符串 来 运行

------解决方案--------------------------------------------------------
引用1、select to_char(sysdate-2,'yyyymm') 这些语法怎样可以查询出来。我在mssql里 使用 select '1' 是可以行的。
  相关解决方案