例: 従業員の昇給の決定 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/tpt1555966086716.ditamap
dita:ditavalPath
ja-JP/tpt1555966086716.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

部門600のすべての従業員の給与を勤続年数に比例して200ドルずつ昇給する予定(最高で月額2500ドルまで)と想定します。

該当者と新しい給与を決定するには、次の文になります。

   SELECT Name, (Salary+(YrsExp*200))/12 AS Projection
   FROM Employee 
   WHERE Deptno = 600 
   AND Projection < 2500 ;

この文は、次の応答を戻します。

   Name        Projection
   --------    ----------
   Newman P       2483.33

この文は括弧を使って、まず演算YrsExp * 200を行ないます。次にその結果がSalaryに加算され、合計が12で割られています。

YrsExp * 200を囲む括弧は厳密には必要ではありませんが、Salary + (YrsExp * 200)を囲む括弧は必要です。それは、この式で括弧が使用されなかった場合、演算YrsExp * 200は12で割られ、その結果がSalaryに加算されるので、誤った値を生じるからです。

この例の句AS Projectionは、算術式の(Salary + (YrsExp * 200)/12)をProjectionに関連付けます。AS句の使用によって、式全体を参照するのにWHERE句内で名前Projectionを使用することになります。

結果は、1000と100の位を区切るカンマなしで書式化されます。