例 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL日付と時刻の関数および式

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

次のCREATE TABLE文で作成されたemployeeテーブルで、jobdur1とjobdur2が派生PERIOD列であるとします。

CREATE TABLE employee (
   eid INTEGER NOT NULL, 
   name VARCHAR(100) NOT NULL,
   deptno INTEGER NOT NULL,
   jobst1 DATE NOT NULL,
   jobend1   DATE NOT NULL,
   PERIOD FOR jobdur1(jobst1, jobend1),
   jobst2 DATE NOT NULL,
   jobend2   DATE NOT NULL,
   PERIOD FOR jobdur2(jobst2, jobend2)
   ) PRIMARY INDEX(eid);
EID Name Dept No JobSt1 JobEnd1 JobSt2 JobEnd2
1 Tom 101 DATE'2001-01-01' DATE'2004-01-01' DATE'2005-01-01' DATE'2006-01-01'
2 Rick 201 DATE'2005-01-01' DATE'2006-01-01' DATE'2001-01-01' DATE'2004-01-01'
3 Joo 301 DATE'2005-01-01' DATE'2006-01-01' DATE'2006-01-01' DATE'2007-01-01'
4 Tam 401 DATE'2001-01-01' DATE'2006-01-01' DATE'2002-01-01' DATE'2004-01-01'
5 Pat 501 DATE'2005-01-01' DATE'2007-01-01' DATE'2006-01-01' DATE'2008-01-01'
6 Jack 601 DATE'2005-01-01' DATE'2007-01-01' DATE'2007-01-01' DATE'2008-01-01'
7 Yu 701 DATE'2005-01-01' DATE'2007-01-01' DATE'2004-01-01' DATE'2005-01-01'
8 Tim 801 DATE'2005-01-01' DATE'2007-01-01' DATE'2005-01-01' DATE'2007-01-01'

次のSQL文では、CONTAINSをemployeeテーブルの派生PERIOD列で使用しています。

SELECT eid, name, jobst1, jobend1, jobst2, jobend2 
FROM employee 
WHERE jobdur1 CONTAINS jobdur2;

結果は以下のようになります。

EID Name Dept No JobSt1 JobEnd1 JobSt2 JobEnd2
4 Tam 401 DATE'2001-01-01' DATE'2006-01-01' DATE'2002-01-01' DATE'2004-01-01'
8 Tim 801 DATE'2005-01-01' DATE'2007-01-01' DATE'2005-01-01' DATE'2007-01-01'