例: ドット表記法を使用して値を返すUDF(レベル 3)

Teradata® Database JSONデータ型

brand
Software
prodname
Teradata Database
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1150-162K-JPN

このUDFは、JSON文字列から"name.firstname.lastname"の値を取得するドット表記法の構文の使用を示しています。

REPLACE FUNCTION test_udf(string JSON(32000))
RETURNS VARCHAR(32000)
LANGUAGE SQL
CONTAINS SQL
DETERMINISTIC
SQL SECURITY DEFINER
COLLATION INVOKER
INLINE TYPE 1
RETURN string.name.firstname.lastname;
SELECT test_udf(new json('{ "thenum" : "10" , "name": {"firstname" : { "lastname":"abc"} }}'));

結果:

test_udf( NEW JSON('{ "thenum" : "10" , "name": {"firstname"
---------------------------------------------------------------------------
abc
CREATE TABLE test_data(x1 int, y1 json(32000));

INSERT INTO test_data(1,new json('{ "thenum" : "10" , "name": {"firstname" : { "lastname":"abc"} }}'));
SELECT test_udf(y1) FROM test_data;

結果:

test_udf(y1)
---------------------------------------------------------------------------
abc
SELECT test_udf(test_data.y1) FROM test_data;

結果:

test_udf(y1)
---------------------------------------------------------------------------
abc
SELECT test_udf(test_database.test_data.y1) FROM test_data;

結果:

test_udf(y1)
---------------------------------------------------------------------------
abc