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
日本語 (日本)

例: CASESPECIFIC句

次のクエリーは、英大文字/英小文字の区別のある比較でリテラル「Leidner P」に一致するデータが見つかった場合にだけ、結果を返します。

SELECT Name
FROM Employee
WHERE Name(CS) = 'Leidner P' ;

リテラル「Leidner P」のデフォルトは現在のモードに応じてCSまたはNOT CSですが、比較のタイプ修飾子がCSなので、セッション モードとは関係なく、大文字小文字を区別して比較が実行されます。

セッション モードとは関係なく大文字小文字を指定しない比較を実行するには、次のようにクエリーを指定します。

SELECT Name
FROM Employee
WHERE Name (NOT CS) = 'Leidner P' (NOT CS) ;

あるいは、次に示すように、ANSI互換の構文を使用したクエリーも指定できます。

SELECT Name
FROM Employee
WHERE UPPER (Name) = 'LEIDNER P' ;

例: 英大文字と英小文字が混在したデータでのCASESPECIFIC比較および照合

英大文字と英小文字が混在したデータでCASESPECIFIC比較および照合を実行すると、予想外の結果になることがあります。

SELECT Last_Name
FROM SalesReps
ORDER BY Last_Name(CS) ;

返されるソート済みリストは、そのセッションで使用している照合に応じて、次のようになります。

EBCDIC ASCII MULTINATIONAL
bart ACME ACME
fernandez ALBERT Albert
hill Albert ALBERT
Albert FARRAH bart
ACME Kimble FARRAH
ALBERT bart fernandez
FARRAH fernandez hill
Kimble hill Kimble