在db2数据库如何转换从系统获取到的日期格式
如题..现有表a,字段date1为char(值为20110101,20140101,20140118等)我想要在a表中查询出所有date1不等于前一天日期的所有记录我的语...
如题..现有表a,字段date1为char(值为20110101,20140101,20140118等)
我想要在a表中查询出所有date1不等于前一天日期的所有记录
我的语句为
select * from a where to_date(date1,'yyyy-mm-dd') <>(select current date -1 day from sys.ibm.sysdummy1)
运行后提示我<>操作的数据类型不兼容
然后我直接运行了select current date -1 day from sys.ibm.sysdummy1 发现查询出的日期格式为2014-1-18
而我 to_date(date1,'yyyy-mm-dd') 出来的日期为2014-01-18
请问该如何解决? 展开
我想要在a表中查询出所有date1不等于前一天日期的所有记录
我的语句为
select * from a where to_date(date1,'yyyy-mm-dd') <>(select current date -1 day from sys.ibm.sysdummy1)
运行后提示我<>操作的数据类型不兼容
然后我直接运行了select current date -1 day from sys.ibm.sysdummy1 发现查询出的日期格式为2014-1-18
而我 to_date(date1,'yyyy-mm-dd') 出来的日期为2014-01-18
请问该如何解决? 展开
2个回答
展开全部
select current date -1 day from sysibm.sysdummy1
这种日期类型是:
2014-01-18
values to_date('20140101','yyyy-mm-dd')
2014-01-01 00:00:00.0
是timestamp格式,所以格式不一样
你可以修改一下你的语句:
select * from a where to_char(date1,'yyyy-mm-dd') <>(current date -1 day);
试试可不可以。
这种日期类型是:
2014-01-18
values to_date('20140101','yyyy-mm-dd')
2014-01-01 00:00:00.0
是timestamp格式,所以格式不一样
你可以修改一下你的语句:
select * from a where to_char(date1,'yyyy-mm-dd') <>(current date -1 day);
试试可不可以。
展开全部
建议采用转换为字符串来比较,如:
select replace(char(current date, ISO),'-','') as result
from sysibm.sysdummy1
where replace(char(current date - 1 day, ISO),'-','') <> '20140120'
Datetime to Character:
>>-CHAR--(--datetime-expression--+--------------+--)----------->< '-,--+-ISO---+-' +-USA---+ +-EUR---+ +-JIS---+ '-LOCAL-'
to_date字符串转换貌似要到秒,如:
select to_date('1999-12-31 00:00:00','YYYY-MM-DD HH24:MI:SS') from sysibm.sysdummy1;
TO_DATE scalar function
>>-TO_DATE--(--string-expression--,format-string--)------------><
The schema is SYSIBM.
The TO_DATE function returns a timestamp from a character string that has been interpreted using a character template.
TO_DATE is a synonym for TIMESTAMP_FORMAT.
select replace(char(current date, ISO),'-','') as result
from sysibm.sysdummy1
where replace(char(current date - 1 day, ISO),'-','') <> '20140120'
Datetime to Character:
>>-CHAR--(--datetime-expression--+--------------+--)----------->< '-,--+-ISO---+-' +-USA---+ +-EUR---+ +-JIS---+ '-LOCAL-'
to_date字符串转换貌似要到秒,如:
select to_date('1999-12-31 00:00:00','YYYY-MM-DD HH24:MI:SS') from sysibm.sysdummy1;
TO_DATE scalar function
>>-TO_DATE--(--string-expression--,format-string--)------------><
The schema is SYSIBM.
The TO_DATE function returns a timestamp from a character string that has been interpreted using a character template.
TO_DATE is a synonym for TIMESTAMP_FORMAT.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询