在 Teradata 12 中将数字 (200909) 显示为 2009 年 9 月的 SQL 是什么
问问题
1898 次
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,但一般方法是:
- 将您的数字转换为可以转换为日期的字符串(即在末尾附加“01”以获得“20090901”)
- 将该字符串转换为日期类型
- 使用日期函数呈现“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 回答