クラス Function

すべての実装されたインタフェース:
Serializable, ASTNode

public class Function extends PrimaryValue
関数を表す。 Oracle、MySQL、Postgresql共通で次のファンクションを利用可能。
文字列関数
  • REPLACE('変換対象文字列','変換前文字','変換後文字') :String :文字列を置換する
  • UPPER('変換対象文字列') :String :文字列を大文字変換する
  • LOWER('変換対象文字列') :String :文字列を小文字変換する
  • CONCAT('結合対象文字列1','結合対象文字列2') :String :文字列を結合する
  • SUBSTR('文字列',開始文字index,切り出す文字列の長さ) :String :文字列を切り出す。indexは1始まり。切り出す文字列の長さは省略可能
  • INSTR('文字列','検索文字列') :Long :検索文字列が最初に出現したindexを返す。indexは1始まり。
  • CHAR_LENGTH('文字列') :Long :文字列の長さを取得する
数値関数
  • MOD(数値式,割る数) :Double/BigDecimal/Long :余りを計算する。引数の数値の型により返却される型は異なる
  • SQRT(数値式) :Double :平方根を計算する
  • POWER(数値式,指数) :Double/BigDecimal/Long :冪乗を計算する。引数の数値の型により返却される型は異なる
  • ABS(数値式) :Double/BigDecimal/Long :絶対値を計算する。引数の数値の型により返却される型は異なる
  • CEIL(数値式) :Long :小数部を切り上げする
  • FLOOR(数値式) :Long :小数部を切り下げする。TRUNCATEとの違いは、数値式が負数の場合の処理。
  • ROUND(数値式,小数位) :BigDecimal/Long :数値式を四捨五入(数値式がDouble型の場合は銀行丸め処理)する。引数の数値の型により返却される型は異なる。小数位の指定が、0以下の場合はLong
  • TRUNCATE(数値式,小数位) :BigDecimal/Long :数値式を切り捨てする。引数の数値の型により返却される型は異なる。小数位の指定が、0以下の場合はLong
  • SIN(数値式) :Double :サインを計算する
  • COS(数値式) :Double :コサインを計算する
  • TAN(数値式) :Double :タンジェントを計算する
  • ASIN(数値式) :Double :アークサインを計算する
  • ACOS(数値式) :Double :アークコサインを計算する
  • ATAN(数値式) :Double :アークタンジェントを計算する
  • ATAN2(数値式,数値式) :Double :y/xのアーク・タンジェントを計算する
日付関数
  • YEAR(日付) :Long :日付の年を取得する
  • MONTH(日付) :Long :日付の月(1~12)を取得する
  • DAY(日付) :Long :日付の日(1~31)を取得する
  • HOUR(日付) :Long :日付の時間(0~23)を取得する
  • MINUTE(日付) :Long :日付の分(0~59)を取得する
  • SECOND(日付) :Long :日付の秒(0~59)を取得する
  • DATE_ADD(日付,加算する値,単位) :Timestamp :指定の日付に指定の値を加算する。単位には'YEAR','MONTH','DAY','HOUR','MINUTE','SECOND'を指定可能。例:DATE_ADD('2012-12-12'D, 5, 'DAY')
  • DATE_DIFF(単位,日付1,日付2) :Long :日付1と日付2の差分を指定の単位で取得する。日付1の方が大きい場合、結果は負の値が返却される。単位には'YEAR','MONTH','DAY','HOUR','MINUTE','SECOND'を指定可能。例:DATE_DIFF('DAY', '2012-12-12'D, '2012-12-31'D)
  • CURRENT_DATE() :Date :現在の日付(年月日)を取得する
  • CURRENT_TIME() :Time :現在の時刻を取得する
  • CURRENT_DATETIME() :Timestamp :現在の日時を取得する
  • LOCALTIME(日時) :Timestamp :日時をテナントに設定されたローカル時間を示す値に変換する。例(テナントローカルのタイムゾーンの時間を取得):HOUR(LOCALTIME(CURRENT_DATETIME()))
関連項目: