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

次の関数定義について考えてみましょう。

CREATE FUNCTION ascii (string_expr TD_ANYTYPE)
   RETURNS TD_ANYTYPE
   LANGUAGE C
   NO SQL
   SPECIFIC ascii
   EXTERNAL NAME 'CS!ascii!UDFs/ascii.c'
   PARAMETER STYLE SQL;
この関数は、入力した文字列に含まれる最初の文字のASCII数値を返します。この関数では、次のデータ型の入力文字列を受け入れます。
  • CHARACTER
  • VARCHAR
  • CLOB
  • CHARACTER、VARCHARまたはCLOB属性を持つUDT
  • CHARACTERまたはVARCHARのエレメント タイプを持つARRAY

この関数は、入力文字列に関連付けられた文字セットを受け入れます。文字セットを明示的に指定していない場合は、デフォルトの文字セットが使用されます。

この関数でサポートされる戻り値の型は、BYTEINT、SMALLINT、またはINTEGERです。必要な戻り値の型をこの関数に指定するには、関数の呼び出し時にRETURNSdata typeまたはRETURNS STYLEcolumn expressionの句を使用します。

この関数を呼び出すクエリーの例を以下に示します。

SELECT (ascii('hello') RETURNS INTEGER);

この問合わせが返す出力は、次のとおりです。

ascii('hello')
--------------
           104

この関数の詳細と、対応するCコードの例は、<Teradata Vantage™ - SQL外部ルーチン プログラミング、B035-1147>を参照してください。