0

请帮助将日期字段转换为 YYYYMMDD 格式的整数 Date col- YYYY-MM-DD HH:MM:SS - 2020-05-20 00:00:00 所需输出 - YYYYMMDD - 20200520 IN Aginity 工作台 (Netezza)。

4

2 回答 2

2

参考:https ://www.ibm.com/docs/en/psfa/7.2.1?topic=extensions-conversion-functions

以字符串形式获取日期

SYSTEM.ADMIN(ADMIN)=> select to_char(to_date('2021-01-01 10:11:12','YYYY-MM-DD HH:MI:SS'), 'YYYYMMDD') as str;
   STR
----------
 20210101
(1 row)

现在从字符串转换为以 10 为底的整数

SYSTEM.ADMIN(ADMIN)=> select string_to_int(to_char(to_date('2021-01-01 10:11:12','YYYY-MM-DD HH:MI:SS'), 'YYYYMMDD'), 10) as num;
   NUM
----------
 20210101
(1 row)

为了验证它确实是一个整数,让我们给它加 5

SYSTEM.ADMIN(ADMIN)=> select string_to_int(to_char(to_date('2021-01-01 10:11:12','YYYY-MM-DD HH:MI:SS'), 'YYYYMMDD'), 10) + 5 as numplus5;
 NUMPLUS5
----------
 20210106
(1 row)

在上面的示例中,将日期时间字符串替换为您的列。

于 2021-05-31T19:51:26.940 回答
1

to_char在这里会有帮助。

select string_to_int(
    to_char(date_column, ‘YYYYMMDD’), 
     10 -- the base 
 )
...
于 2021-05-31T15:06:27.790 回答