在选择列时将 TIMESTAMP 转换为 String 的 SQL 查询

Ash*_*k.N 2 sql db2

我正在使用 DB2 数据库。我有一张表,它有两列,如下所示:

表名是sample: 以下是列:

CRDATTIM TIMESTAMP NOT NULL , 

RECORDCD CHAR(1) CCSID 37 NOT NULL; 
Run Code Online (Sandbox Code Playgroud)

上表具有以下值:

   CRDATTIM                                   RECORDCD 

2014-08-08 12:12:39.621060                  O   
2014-08-27 07:01:46.814080                  T   
2014-08-27 06:41:47.404080                  T   
2014-08-27 07:14:47.871080                  T   
2014-08-28 02:23:50.390080                  T   
2014-08-28 06:27:58.298080                  T   
2014-09-02 08:57:37.607080                  T
Run Code Online (Sandbox Code Playgroud)

现在我想sample通过将CRDATTIM列下的值转换为字符串来选择表的所有列(从示例中选择 *),而不是作为TIMESTAMP.

例如,列下的值CRDATTIM 2014-08-08 12:12:39.621060应返回为2014-08-08-12.12.39.621060

相似地

2014-08-27 07:01:46.814080 应返回为 2014-08-27-07.01.46.814080

等等

关于如何实现这一目标的任何想法?

Ash*_*k.N 5

Aniket V 的建议帮助我找到了解决方案。

在 SQL for CRDATTIM 字段中尝试嵌套函数。使用 TO_CHAR 函数将时间戳作为字符串获取,然后应用 REPLACE 函数将字符串中的空格替换为连字符

下面的查询对我有用,可以将 Timestamp 转换为指定的字符串格式。

select  TO_CHAR(CRDATTIM,'YYYY-MM-DD-HH24.MI.SS.FF6') as CRDATTIM ,recordcd from sample  ;
Run Code Online (Sandbox Code Playgroud)