Hitachi

ノンストップデータベース HiRDB Version 9 UAP開発ガイド


付録I エスケープ句で指定できるスカラ関数

エスケープ句で指定できるスカラ関数を次の表に示します。

表I‒1 エスケープ句で指定できるスカラ関数

スカラ関数

スカラ関数の標準形式

形式変換※1

Type2

Type4

Type4(XDM/RD E2接続)

数学関数

ABS(number)

無

無

無

ACOS(float)

無

MASTER.ACOS(float)

無

ASIN(float)

無

MASTER.ASIN(float)

無

ATAN(float)

無

MASTER.ATAN(float)

無

ATAN2(float1, float2)

無

MASTER.ATAN2(float1, float2)

無

CEILING(number)※2

CEIL(number)

08-02

MASTER.CEIL(number)

無

COS(float)

無

MASTER.COS(float)

無

COT(float)※3,※4

無

無

無

DEGREES(number)

無

MASTER.DEGREES(number)

無

EXP(float)

無

MASTER.EXP(float)

無

FLOOR(number)

無

MASTER.FLOOR(number)

無

LOG(float)※2

LN(float)

08-02

MASTER.LN(float)

LN(float)

LOG10(float)

無

MASTER.LOG10(float)

無

MOD(integer1, integer2)

無

無

無

PI()

無

MASTER.PI()

無

POWER(number, power)

無

MASTER.POWER(number, power)

無

RADIANS(number)

無

MASTER.RADIANS(number)

無

RAND(integer)※3,※4

無

無

無

ROUND(number, places)

無

MASTER.ROUND(number, places)

無

SIGN(number)

無

MASTER.SIGN(number)

無

SIN(float)

無

MASTER.SIN(float)

無

SQRT(float)

無

MASTER.SQRT(float)

無

TAN(float)

無

MASTER.TAN(float)

無

TRUNCATE(number, places)※2

TRUNC(number, places)

08-02

MASTER.TRUNC(number, places)

無

文字列関数

ASCII(string)

無

MASTER.ASCII(string)

無

BIT_LENGTH(string)※3

無

無

無

CHAR(code)※2

CHR(code)

08-02

MASTER.CHR(code)

無

CHAR〔ACTER〕_LENGTH(string)※3

無

無

無

CONCAT(string1, string2)※3

無

無

無

DIFFERENCE(string1, string2)※3

無

無

無

INSERT(string1, start, length, string2)※2

INSERTSTR(string1, start, length, string2)

08-02

MASTER.INSERTSTR(string1, start, length, string2)

無

LCASE(string)※2

LOWER(string)

08-02

同左

同左

LEFT(string, count)※2

LEFTSTR(string, count)

08-02

MASTER.LEFTSTR(string, count)

無

LENGTH(string)

無

無

無

LOCATE(string1, string2〔, start〕)※2

POSITION(string1 IN string2 〔FROM start〕)

08-02

同左

同左

LTRIM(string)

無

MASTER.LTRIM(string)

TRIM(LEADING FROM string)

OCTET_LENGTH(string)※3

無

無

無

POSITION(character IN character)

無

無

無

REPEAT(string, count)※3

無

無

無

REPLACE(string1, string2, string3)

無

MASTER.REPLACE(string1, string2, string3)

無

RIGHT(string, count)※2

RIGHTSTR(string, count)

08-02

MASTER.RIGHTSTR(string, count)

無

RTRIM(string)

無

MASTER.RTRIM(string)

TRIM(TRAILING FROM string)

SOUNDEX(string)※3

無

無

無

SPACE(count)※3

無

無

無

SUBSTRING(string, start, length)※2

SUBSTR(string, start, length)

同左

同左

UCASE(string)※2

UPPER(string)

同左

同左

時刻と日付の関数

CURDATE()※2

CURRENT DATE

同左

同左

CURRENT_DATE()※2

CURRENT DATE

同左

同左

CURTIME()※2

CURRENT TIME

同左

同左

CURRENT_TIME

無

無

無

CURRENT_TIME(time-precision)※2,※5

引数time-precisionは,戻り値の小数秒の精度を指定する。

CURRENT TIME

08-02

同左

無

CURRENT_TIMESTAMP[(timestamp-precision)]

引数timestamp-precisionは,返されるタイムスタンプの小数秒の精度を指定する。

無

無

無

DAYNAME(date)

無

MASTER.DAYNAME(date)

無

DAYOFMONTH(date)※3

無

無

無

DAYOFWEEK(date)

無

MASTER.DAYOFWEEK(date)

無

DAYOFYEAR(date)

無

MASTER.DAYOFYEAR(date)

無

EXTRACT(extract-field FROM extract-source)※3

無

無

無

HOUR(time)

無

無

無

MINUTE(time)

無

無

無

MONTH(time)

無

無

無

MONTHNAME(date)

無

MASTER.MONTHNAME(date)

無

NOW()※2

CURRENT TIMESTAMP(6)

08-02

同左

同左

QUARTER(date)

無

MASTER.QUARTER(date)

無

SECOND(time)

無

無

無

TIMESTAMPADD(interval, count, timestamp)※3

無

無

無

TIMESTAMPDIFF(interval, timestamp1, timestamp2)※3

無

無

無

WEEK(date)

無

MASTER.WEEK(date)

無

YEAR(date)

無

無

無

システム関数

DATABASE()※3

無

無

無

IFNULL(expression, value)※3

無

無

無

USER()※4

USER

08-02

同左

同左

データ型変換関数

CONVERT(value, SQLtype)※2,※4

無

無

無

注※1

Statementオブジェクトのエスケープ構文解析での,スカラ関数変換後の形式を示します。関数変換しない場合は,「無」と示します。また,xx-xxは追加したバージョンを示します。

注※2

標準形式とHiRDB形式,又はXDM/RD E2形式が異なります。

注※3

HiRDB,又はXDM/RD E2では該当するスカラ関数がありません。

注※4

HiRDB,又はXDM/RD E2で未サポートの関数のため,スカラ関数(標準形式)をエスケープ構文に指定するとHiRDBサーバ,又はXDM/RD E2でエラーになります。また,xx-xxはType2 JDBCドライバに追加したバージョンを示します。

注※5

Type4 JDBCドライバでは,CURRENT TIMEに変換するため,小数秒の精度=0として扱います。引数で指定された秒の精度は無効になります。