例: TD_TIMECODEをデフォルトのタイムコード列として上書きする - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ 時系列テーブルおよび操作

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/sfz1493079039055.ditamap
dita:ditavalPath
ja-JP/sfz1493079039055.ditaval
dita:id
B035-1208
Product Category
Software
Teradata Vantage

PTIテーブルには、独自のタイムコード列があります。TD_TIMECODEをデフォルトのタイムコード列として上書きするには、USING TIMECODE句でそれを指定します。例えば、OCEAN_BUOYSテーブルに、TIMESTAMP(6)タイプのmy_timecodeという別の列があるとします。USING TIMECODE句が指定されていない場合、クエリーにPTIテーブルが指定されると、タイムコード列はデフォルトのシステム生成TD_TIMECODE列になります。

-- use default timecode TD_TIMECODE
select avg(temperature)
from ocean_buoys
group by time(minutes(10));
  
-- override default
create table my_ocean_buoys as ocean_buoys with no data;
alter table my_ocean_buoys add my_timecode timestamp(6);
show table my_ocean_buoys;
CREATE SET TABLE my_ocean_buoys ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (
      TD_TIMEBUCKET BIGINT NOT NULL GENERATED SYSTEM TIMECOLUMN,
      TD_TIMECODE TIMESTAMP(6) NOT NULL GENERATED TIMECOLUMN,
      BUOYID INTEGER,
      SALINITY INTEGER,
      TEMPERATURE INTEGER,
      my_timecode TIMESTAMP(6))
PRIMARY TIME INDEX (TIMESTAMP(6), DATE '2012-01-01', HOURS(1), COLUMNS(BUOYID), NONSEQUENCED);

-- use my_timecode instead of TD_TIMECODE. 
select avg(temperature)
from my_ocean_buoys
group by time(minutes(100))
using timecode(my_timecode);