在 netezza 中将日期转换为整数

Posted

技术标签:

【中文标题】在 netezza 中将日期转换为整数【英文标题】:Convert Date to Integer in netezza 【发布时间】:2021-05-31 12:35:54 【问题描述】:

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

【问题讨论】:

【参考方案1】:

参考: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)

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

【讨论】:

【参考方案2】:

to_char 在这里会有所帮助。

select string_to_int(
    to_char(date_column, ‘YYYYMMDD’), 
     10 -- the base 
 )
...

【讨论】:

以上是关于在 netezza 中将日期转换为整数的主要内容,如果未能解决你的问题,请参考以下文章

在 Netezza 中将数字时间值转换为字符串

在代码隐藏中将日期转换为整数

在netezza sql中将整数转换为二进制

如何在 Presto/Hive 中将日期格式 YYYY-MM-DD 转换为整数 YYYYMMDD?

用于将数字 YYYYMMDD 格式转换为日期的 Netezza SQL 语法

Netezza:如何将 varchar 转换为日期