3.5. スカラー関数


Data Virtualization は、ビルトインのスカラー機能を多数提供します。詳細は、「 DML コマンド 」および「 データタイプ 」を参照してください。さらに、Data Virtualization はユーザー定義の関数または UDF の機能を提供します。UDF の追加に関する詳細は、『Translator Development Guide』の「 User-defined functions 」を参照してください。UDF を追加したら、他の関数を呼び出すのと同じ方法で呼び出すことができます。

3.5.1. 数値関数

数値関数は数値を返します(整数、long、float、ダブル、大きな整数、大きい 10 進数)。通常、これらは文字列を取りますが、数値は入力として取ります。

Expand
機能定義データタイプ制約

+ - * /

標準の数値演算子

x in {integer, long, float, double, biginteger, bigdecimal}, return type is x [a]

ABS(x)

x の絶対値

上記の標準的な数値演算子を参照してください。

ACOS(x)

arc cosine of x

x in {double, bigdecimal}, return type is double

ASIN(x)

x のアーティファクト

x in {double, bigdecimal}, return type is double

ATAN(x)

x の ArC tangent

x in {double, bigdecimal}, return type is double

ATAN2(x,y)

x および y の ArC tangent

X, y in {double, bigdecimal}, return type is double

CEILING(x)

x の Ceiling

X in {double, float}, return type is double

COS(x)

cosine of x

x in {double, bigdecimal}, return type is double

COT(x)

x の Cotangent of x

x in {double, bigdecimal}, return type is double

DEGREES(x)

x degrees を radians に変換する

x in {double, bigdecimal}, return type is double

EXP(x)

e^x

X in {double, float}, return type is double

FLOOR(x)

x floor of x

X in {double, float}, return type is double

FORMATBIGDECIMAL(x, y)

y 形式を使用した x のフォーマット

X は大きい 10 進数で、y は文字列で、文字列を返します。

FORMATBIGINTEGER(x, y)

y 形式を使用した x のフォーマット

X は大型整数で、y は文字列で、文字列を返します。

FORMATDOUBLE(x, y)

y 形式を使用した x のフォーマット

X は double で、y は文字列を返します。文字列を返します。

FORMATFLOAT(x, y)

y 形式を使用した x のフォーマット

X は浮動小数点、y は文字列で、文字列を返します。

FORMATINTEGER(x, y)

y 形式を使用した x のフォーマット

X は整数で、y は文字列です。文字列を返します。

FORMATLONG(x, y)

y 形式を使用した x のフォーマット

X は long、y は文字列で、文字列を返します。

LOG(x)

x(ベース e)の自然なログ

X in {double, float}, return type is double

LOG10(x)

Log of x(base 10)

X in {double, float}, return type is double

MOD(x, y)

modulus(x / y のメイン元)

x in {integer, long, float, double, biginteger, bigdecimal}, return type is x と同じです。

PARSEBIGDECIMAL(x, y)

y 形式を使用した x の解析

X、y は文字列で、大きい 10 進数を返します。

PARSEBIGINTEGER(x, y)

y 形式を使用した x の解析

X、y は文字列で、大きな整数を返します。

PARSEDOUBLE(x, y)

y 形式を使用した x の解析

X、y は文字列で、ダブルを返します。

PARSEFLOAT(x, y)

y 形式を使用した x の解析

X、y は文字列で、浮動小数点を返します。

PARSEINTEGER(x, y)

y 形式を使用した x の解析

X、y は文字列で、整数を返します。

PARSELONG(x, y)

y 形式を使用した x の解析

X、y は文字列で、long を返します。

PI()

Pi の値

戻り値は double です

POWER(x,y)

X から y の電源へ

x in {double, bigdecimal, biginteger}, return is the same type as x

RADIANS(x)

x radians をレベルに変換する

x in {double, bigdecimal}, return type is double

RAND()

必要時にクエリーで確立されたジェネレーターやシステムクロックで初期化されたジェネレーターを使用して、乱数を返します。

double を返します。

RAND(x)

x でシードされた新しいジェネレーターを使用して乱数を返します。通常、これは初期化クエリーで呼び出される必要があります。これは、Data Virtualization RAND 関数によって返されるランダムな値にのみ影響し、ソースによって評価される RAND 関数からの値は影響を与えません。

X は整数で、二重を返します。

ROUND(x,y)

y の位置に丸めた x を丸めます。負の値は、y を小数点の左側にある場所を示します。

x in {integer, float, double, bigdecimal} y は整数で、戻り値は x と同じタイプです。

SIGN(x)

x > 0 の場合は 1、x = 0 の場合は 0(x < 0 の場合は -1)

x in {integer, long, float, double, biginteger, bigdecimal}, return type is integer

SIN(x)

x の Sine 値

x in {double, bigdecimal}, return type is double

SQRT(x)

x の平方ルート

x in {long, double, bigdecimal}, return type is double

TAN(x)

x の Tangent

x in {double, bigdecimal}, return type is double

BITAND(x, y)

x と y のビット単位の AND

X, y in {integer}, return type is integer

HadoopTOR(x, y)

x および y のビット単位の OR

X, y in {integer}, return type is integer

giveTXOR(x, y)

x および y のビット単位の XOR

X, y in {integer}, return type is integer

BITNOT(x)

x をビットにしない

{integer} の x 戻り値の型は整数です。

[a] 非あいまいな関数関数の精度とスケールは、Java のものと一致します。大きな 10 進数操作の結果は、単位を除き Java に一致します。ただし、max(16, dividend.scale + divisor.precision + 1)の推奨スケールを使用し、スケールを max(dividend.scale, normalized scale)に設定して末尾のゼロを削除します。

文字列からの数値データ型の解析

Data Virtualization は、文字列の数字を解析するのに使用できる関数のセットを提供します。各文字列に文字列の形式を指定する必要があります。これらの関数は、java.text.DecimalFormat クラスによって確立された規則を使用して、これらの関数で使用することのできる形式を定義します。Sun Java の URL で Sun Java Web サイトにアクセスすると、このクラスが数値の文字列形式を定義する方法が確認できます。

たとえば、これらの関数呼び出しを java.text.DecimalFormat 規則に準拠するフォーマット文字列とともに使用して、文字列を解析し、必要なデータタイプを返すことができます。

Expand
入力文字列関数呼び出しのフォーマット文字列出力値出力データタイプ

'$25.30'

parseDouble(cost, '$,0.00;($,0.00)')

25.3

double

'25%'

parseFloat(percent, ',#0%')

25

float

'2,534.1'

parseFloat(total, ',0.;-,0.')

2534.1

float

'1.234E3'

parseLong(amt, '0.###E0')

1234

Long

'1,234,567'

parseInteger(total, ',0;-,0')

1234567

integer

数値データ型を文字列としてフォーマットする

Data Virtualization は、数値のデータタイプを文字列に変換するために使用できる関数のセットを提供します。各文字列にフォーマットを指定する必要があります。これらの関数は、java.text.DecimalFormat クラス内で確立された規則を使用して、これらの関数で使用することのできる形式を定義します。Sun Java の URL で Sun Java Web サイトにアクセスすると、このクラスが数値の文字列形式を定義する方法が確認できます。

たとえば、java.text.DecimalFormat 規則に準拠するフォーマット文字列を使用して、これらの関数呼び出しを使用し、数値のデータ型を文字列にフォーマットできます。

Expand
入力値入力データタイプ関数呼び出しのフォーマット文字列出力文字列

25.3

double

formatDouble(cost, '$,0.00;($,0.00)')

'$25.30'

25

float

formatFloat(percent, ',#0%')

'25%'

2534.1

float

formatFloat(total, ',0.;-,0.')

'2,534.1'

1234

Long

formatLong(amt, '0.###E0')

'1.234E3'

1234567

integer

formatInteger(total, ',0;-,0')

'1,234,567'

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat