1

在 Teradata 12 中将数字 (200909) 显示为 2009 年 9 月的 SQL 是什么

4

3 回答 3

6

Teradata 以以下方式将日期存储为整数:

(year - 1900) * 10000 + (month * 100) + day

因此,您将从年份中删除 1900 并添加一天以使该数字成为有效日期,然后转换为仅显示月份和年份的格式。

SELECT CAST(CAST((200909 - 190000) * 100 + 1 AS DATE FORMAT 'm3by4') AS CHAR(8));
于 2009-10-21T00:58:10.833 回答
1

我不熟悉 Teradata,但一般方法是:

  1. 将您的数字转换为可以转换为日期的字符串(即在末尾附加“01”以获得“20090901”)
  2. 将该字符串转换为日期类型
  3. 使用日期函数呈现“Sep 2009”(可能是月份函数和年份函数)

祝你好运,谷歌搜索可能会告诉你如何进行上述每个步骤。

于 2009-10-20T20:56:20.787 回答
1
select cast(cast(('200909'(date, format 'y4mm')) as format 'm3by4') as char(10))
于 2012-09-18T10:15:06.680 回答