【问题标题】:How can I format a datetime column to only print hh:mm:ss in an ace report?如何格式化日期时间列以仅在 ace 报告中打印 hh:mm:ss?
【发布时间】:2015-03-22 03:59:39
【问题描述】:

Informix-SQL 4.10:

我有一个DATETIME YEAR TO SECOND 列,并且想在 ACE 报告中打印出小时、分钟和秒 (HH:MM:SS)。我尝试了以下三个ACE语句,但都给出了编译错误:

PRINT TimeStampCol USING "HH:MM:SS"
PRINT TimeStampCol HOUR TO SECOND
PRINT TimeStampCol[12,19]  

【问题讨论】:

  • 我将 datetime 列转换为本地 ACE char 变量,并且能够通过下标变量 [12,19] 打印所需的格式,但仍然有兴趣了解如何格式化 datetime 列以进行打印在 ACE 中。

标签: datetime informix


【解决方案1】:

您应该能够直接在 ACE 格式化代码中使用可以说是错误命名的 EXTEND 函数,或者在最坏的情况下,作为最终 SELECT 语句中的额外值。

试试:

PRINT EXTEND(TimeStampCol, HOUR TO SECOND)

如果做不到这一点,请在 SELECT 语句中使用表达式,记住给它一个名字。

【讨论】:

  • EXTEND 在 4.10 ACE 或 SELECT 语句中无效。
【解决方案2】:

如果EXTEND 无效,您不能在投影子句中将其转换为DATETIME HOUR TO SECOND 吗?或者,作为最后的手段,将其转换为CHAR(19) 并提取一个子字符串?只是个客人,我没有符合你要求的环境。

【讨论】:

    猜你喜欢
    • 2018-02-06
    • 2013-04-05
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    相关资源
    最近更新 更多