17.10 - 例 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データ タイプおよびリテラル

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1143-171K-JPN
Language
日本語 (日本)

例: 日付を使用するクエリー

現在50歳を超えるすべての男性従業員をリストするためには、以下の文を入力することができます。

SELECT name, dob
FROM employee
WHERE CURRENT_DATE > ADD_MONTHS (dob, 12*50)
AND sex = 'M' ;

システムは、以下のような結果を返します。

Name                            DOB
---------                ----------
Russell S                1932-06-05
Carter J                 1935-03-12
Inglis C                 1938-03-07

システムから現在の日付を取得するために、式の中でCURRENT_DATEが使用されていることに注意する必要があります。

従業員Russellの生年月日から3ヶ月を投影するためには、以下のように入力します。

SELECT name, ADD_MONTHS (dob,3)
FROM employee
WHERE name = ’Russell S’ ;

システムは、以下のような結果を返します。

Name                 ADD_MONTHS(dob,3)
---------            -----------------
Russell S            1932-09-05
3ヶ月というのは、具体的な日数ではありません。この場合、「3ヶ月」は92日です。

例: 日付を表わすための整数の使用

1938年3月7日から1942年8月25日の間に生まれた従業員をリストするためには、日付情報を以下のように指定することができます。

SELECT name, dob
FROM employee
WHERE dob BETWEEN 380307
AND DATE '1942-08-25'
ORDER BY dob ;

この例で、1つ目の日付(380307)はyymmddを表わす整数です。dob列の値は、整数の値と比較するためにINTEGERに変換されます。2番目の日付は、優先使用の日付リテラル形式になっています。結果として、Employeeテーブルに指定された生年月日の情報が以下のように返されます。

Name                  DOB
----------    -----------
Inglis C      Mar 07 1938
Peterson J    Mar 27 1942

DOBの表示は、Personnel.Employee.DOBの形式によって設定されます。 FORMAT ' MMM DD YYYY '。

例: 日付形式の変更

上記の例で表示されたDATE形式を別の形式に変えるためには、SELECTを以下のように変更します。

SELECT name, dob (FORMAT '99-99-99')
FROM employee
WHERE dob BETWEEN 380307 AND DATE '1942-08-25'
ORDER BY dob ;

この形式指定によって、表示が以下のように変わります。

Name                    DOB
----------         --------
Inglis C           38-03-07
Peterson J         42-03-27

例: 日付形式から整数形式への変更

表示をDATE形式から整数形式に変えるためには、例3の文を以下のように変更します。

SELECT name, dob (INTEGER)
FROM employee
WHERE dob BETWEEN 380307 AND 420825
ORDER BY dob ;

この形式指定によって、表示が以下のように変わります。

Name                       DOB
----------         -----------
Inglis C                380307
Peterson J              420327

DATEに対する算術演算を示す他の例を、以下のテーブルに示します。システム日付は2001年1月24日とします。

システムから返される値
SELECT CURRENT_DATE;
    Date
--------
01/01/24
SELECT CURRENT_DATE +3;
(Date+3)
--------
01/01/27
SELECT CURRENT_DATE -3;
(Date-3)
--------
01/01/21
SELECT CURRENT_DATE - CURRENT_DATE;
(Date-Date)
-----------
          0