数据表的定义如下:
CREATE TABLE DIM_DATE
(TIMEUNIT_CODE INTEGER NOT NULL,
DATE_CODE VARCHAR(14) NOT NULL,
YEAR VARCHAR(4),
SEASON VARCHAR(5),
MONTH VARCHAR(6),
TENDAYS VARCHAR(7),
WEEK VARCHAR(7),
DAY VARCHAR(8),
MODIFIER_ID VARCHAR(10),
TIMESTAMP VARCHAR(19)
)
我想要一条sql语句,将YEAR ,MONTH,DAY拼接成日期类型并与日期2001-1-1比较,检索出2001-1-1以后的记录
------解决方案--------------------------------------------------------
select * from table wherr TIMESTAMP (yesr || '- '||month|| '- '|| '- "||day|| '-00.00.00.000000 ') >
TIMESTAMP ( '2002-10-20-00.00.00.000000 ')
------解决方案--------------------------------------------------------
select * from table wherr TIMESTAMP (yesr ¦ ¦ "- " ¦ ¦month ¦ ¦ "- " ¦ ¦ "-" ¦ ¦day ¦ ¦ "-00.00.00.000000 ") >
TIMESTAMP ( "2002-10-20-00.00.00.000000 ")
--------it is ' not "
------解决方案--------------------------------------------------------
where date(year||'-'||char(month,2)||'-'||char(day,2))>date('2001-1-1')
month和day的长度怎么这样呢,是个累积的月数和天数吧?如果是,上面的方法还不行,数据还要做转换。
------------------------------
欢迎加入DB2新群:10300864。
------解决方案--------------------------------------------------------
楼主至少要把字段的取值含义说清楚才行啊
------解决方案--------------------------------------------------------
select * from table where year(year) >year ('2001-01-01 00:00:00')