我在更改DATE
格式列(CREATE_DT
)('yyyy-mm-dd')时遇到问题,但我想创建仅具有('yyyy-mm')的新列CREATE_Month
我已经尝试过
SELECT DATE_FORMAT(CREATE_DT,'%Y%m')
from SCHEMA.Tables
也
select *
from (
Select top 100 *
from SCHEMA.Tables
where cast(CREATE_DT AS DATE)
) AS CREATE_Month
下面是我的CREATE表代码,如果有帮助的话,
CREATE MULTISET TABLE SCHEMA.Tables ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
ACCT_ID INTEGER NOT NULL,
CREATE_DT DATE FORMAT 'yyyy-mm-dd'
PRIMARY INDEX ( ACCT_ID );
我希望解决方案有3列
ACCT_ID INTEGER NOT NULL,
CREATE_DT DATE FORMAT 'yyyy-mm-dd',
CREATE_Month (derived from CREATE_DT)
[如果有人可以帮助,那就太好了。在此先感谢
您是要向表中添加新的“月”字段,还是只想格式化CREATE_DT
查询中的SELECT
字段格式?
没有“月”数据类型,因此,如果要添加CREATE_Month
字段,则可以做几件事:
DATE
字段,然后将day
部分默认为每月的第一天如果要基于此字段访问行,则选项#1可能更好(允许进行日期分区)。如果您仅使用它进行显示,那么任何一个都可以使用。
如果只想以其他格式返回CREATE_DT
,则可以使用此方法:
SELECT CREATE_DT (FORMAT 'YYYY-MM-DD')