首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DB2 VARCHAR_FORMAT使用时间戳,但不使用日期

DB2 VARCHAR_FORMAT使用时间戳,但不使用日期
EN

Stack Overflow用户
提问于 2015-02-03 23:04:06
回答 1查看 10.6K关注 0票数 1

我想在DB2中将日期列转换为格式化字符串。这个SQL运行得很好:

代码语言:javascript
复制
select varchar_format(current timestamp, 'YYYY-MM')
from sysibm.sysdummy1;

但是下面的SQL给出了一个错误:

代码语言:javascript
复制
select varchar_format(current date, 'YYYY-MM')
from sysibm.sysdummy1;

错误是:函数VARCHAR_FORMAT的SQL0171参数%1无效。

在第一个SQL中,第一个arg for VARCHAR_FORMAT是一个时间戳,这是有效的。在第二个SQL中,VARCHAR_FORMAT的第一个参数是日期,但这不起作用。

IBM文档暗示只有一个函数VARCHAR_FORMAT (及其同义词TO_CHAR)。

如何将日期(而不是时间戳)转换为字符串?或者,我是否必须先将日期转换为时间戳,然后再使用VARCHAR_FORMAT?

我运行的是i系列的DB2 7.1。

更新:转换到TIMESTAMP_ISO工作。但它很丑陋:

代码语言:javascript
复制
select varchar_format(timestamp_iso(current date), 'YYYY-MM')
from sysibm.sysdummy1;

这个行得通。

EN

回答 1

Stack Overflow用户

发布于 2015-02-04 16:42:58

DB2 for I中的VARCHAR_FORMAT函数的文档只提到了时间戳值,而没有提到日期。有些DB2平台会在语句调用仅限时间戳的函数或将日期与时间戳进行比较时,将日期值隐式地转换为时间戳,但并非所有平台都这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28302090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档