fnキーワードを使��JDBCエスケープ構文

JDBCエスケープ構文ã?«ã?¦fnã?¨ã?„ã?†ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’使ã?†ã?“ã?¨ã?§é–¢æ•°ã‚’指定ã?§ã??ã?¾ã?™ã€‚

æ§‹æ–‡

{fn 関数呼�出�}

ã?“ã?“ã?§é–¢æ•°å‘¼ã?³å‡ºã?—ã?¯ã€?以下ã?«æŒ™ã?’るスカラー関数ã?®ä½•れã?‹ã?®å??å‰?ã?§ã?™ã€‚

abs
数�絶対値を返�。
abs(æ•°å¼?)

JDBCエスケープ構文ã?®{fn abs(æ•°å¼?)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®ABSOLUTE(æ•°å¼?)ã?¨å?Œç­‰ã?§ã?™ã€‚ より詳細ã?ªæƒ…å ±ã?¯ã€?ABSã?¨ABSVAL関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

acos
指定��数�逆余弦を返���。
acos(æ•°)

JDBCエスケープ構文ã?®{fn acos(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®ACOS(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚より詳細ã?ªæƒ…å ±ã?¯ã€?ACOSã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

asin
指定��数�逆正弦を返���。
asin(æ•°)

JDBCエスケープ構文ã?®{fn asin(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®ASIN(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚より詳細ã?ªæƒ…å ±ã?¯ã€?ASINã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

atan
指定��数�逆正接を返���。
atan(æ•°)

The JDBCエスケープ構文ã?®{fn atan(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®ATAN(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚より詳細ã?ªæƒ…å ±ã?¯ã€?ATANã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

ceiling
指定��数を切り上���指定��数以上�最��数を返���。
ceiling(æ•°)

JDBCエスケープ構文ã?®{fn ceiling(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®CEILING(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚より詳細ã?ªæƒ…å ±ã?¯CEILã?Šã‚ˆã?³CEILING関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

concat
連���文字列を返���。
concat(文字�, 文字�)

最åˆ?ã?®æ–‡å­—列ã?«äºŒã?¤ç›®ã?®æ–‡å­—列を連çµ?ã?—ã?Ÿæ–‡å­—列ã?Œæ§‹æˆ?ã?•れã?¾ã?™ã€‚ã‚‚ã?—ã?©ã?¡ã‚‰ã?‹ã?®æ–‡å­—列ã?Œç©ºã?ªã‚‰ã€?返り値ã?¯NULLã?¨ã?ªã‚Šã?¾ã?™ã€‚JDBCエスケープ構文ã?®{fn concat (文字å¼?, 文字å¼?)ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®{ 文字å¼? || 文字å¼? }ã?¨å?Œç­‰ã?§ã?™ã€‚詳細ã?¯ã€?Concatenationã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

cos
指定��引数�余弦を返���。
cos(æ•°)

JDBCエスケープ構文ã?®{fn cos(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®COS(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚詳細ã?¯ã€?COS 関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

degrees
指定��数をラジアン�ら度�変����。
degrees(æ•°)

JDBCエスケープ構文ã?®{fn degrees(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®DEGREES(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚詳細ã?¯DEGREES 関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

exp
eを指定��数�累乗��数を返���。
exp(æ•°)

JDBCエスケープ構文ã?®{fn exp(æ•°)}ã?¯ã€?組ã?¿è¾¼ã?¿æ§‹æ–‡ã?®EXP(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚詳細ã?¯EXP関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

floor
指定��数を切り����指定��数以下�最大�数を返���。
floor(æ•°)

JDBCエスケープ構文ã?®{fn floor(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®FLOOR(æ•°)ã?¨å?Œç­‰ã?§ã?™ã€‚ 詳細ã?¯FLOOR関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

locate
二�目�文字������一�目�文字��見��る�置を返���。 開始�置�指定�れ��場��二�目�文字��頭�ら�一致�る�置を見��よ�����。
locate(文字�,文字� [, 開始�置] )

JDBCエスケープ構文ã?®{fn locate(文字å¼?,文字å¼? [, é–‹å§‹ä½?ç½®] )}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®LOCATE(CharacterExpression, CharacterExpression [, StartPosition] )ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯LOCATE関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

log
指定��数�自然対数(底をe����。)を返���。
log(æ•°) 

JDBCエスケープ構文ã?®{fn log(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®LOG(æ•°)ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯LNã?‚ã‚‹ã?„ã?¯LOG関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

log10
指定��数�10を底��る対数を返���。
log10(æ•°)

JDBCエスケープ構文ã?®{fn log10(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®ã€?LOG10(æ•°)ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯LOG10 関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

mod
一�目�引数を二�目�引数�割��余り(剰余)を返���。 一�目�引数�負����場�����果�負��り��。
mod(æ•´æ•°, æ•´æ•°)

詳細ã?¯MOD関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

pi
pi�最近似値を返���。
pi()

JDBCエスケープ構文ã?®{fn pi()}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®PI()ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯PI 関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

radians
指定��数を度�らラジアン�変����。
radians(æ•°)

JDBCエスケープ構文ã?®{fn radians(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®RADIANS(æ•°)ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯RADIANS 関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

sin
指定��数�正弦を返���。
sin(æ•°)

JDBCエスケープ構文ã?®{fn sin(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®SIN(æ•°)ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯SINã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

sqrt
浮動�数点数�平方根を返���。
sqrt(浮動�数点数�)

JDBCエスケープ構文ã?®{fn sqrt (浮動å°?数点数å¼?)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®SQRT(浮動å°?数点数å¼?)ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯SQRT関数をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

substring
文字��開始�置�ら始�る部分文字列を構���返���。 文字��最��文字�1�数���。
substring(文字�, 開始�置, 長�)
tan
引数�正接を返���。
tan(æ•°)

JDBCエスケープ構文ã?®{fn tan(æ•°)}ã?¯ã€?組込ã?¿æ§‹æ–‡ã?®TAN(æ•°)ã?¨ç­‰ä¾¡ã?§ã?™ã€‚詳細ã?¯TANã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

TIMESTAMPADD
TIMESTAMPADD関数を使ã?£ã?¦ã€?タイムスタンプã?«æ™‚é–“ã‚’è¶³ã?™ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚関数ã?¯ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã?«æ•´æ•°ã‚’時間ã?®ç¨®é¡žã?«æ²¿ã?£ã?¦å‡¦ç?†ã?—ã?¦ã€?加算ã?—ã?Ÿå€¤ã‚’æ–°ã?—ã?„タイムスタンプã?¨ã?—ã?¦è¿”ã?—ã?¾ã?™ã€‚è² ã?®æ•´æ•°ã‚’与ã?ˆã‚‹ã?“ã?¨ã?§æ¸›ç®—ã‚‚ã?§ã??ã?¾ã?™ã€‚

TIMESTAMPADD�JDBCエスケープ�関数��JDBCエスケープ関数�構文���利用�能��。

TIMESTAMPADD( 時間�種類, 整数�, タイムスタンプ� )

日付や時刻ã?«TIMESTAMPADDを実行ã?™ã‚‹ã?«ã?¯ã€?日付や時刻をタイムスタンプã?«å¤‰æ?›ã?™ã‚‹å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚日付ã?¯æ™‚刻ã?®ãƒ•ィールドã?«00:00:00.0を与ã?ˆã‚‹ã?“ã?¨ã?§ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã?«å¤‰æ?›ã?§ã??ã?¾ã?™ã€‚時刻ã?¯ç?¾åœ¨æ—¥ä»˜ã‚’日付ã?®ãƒ•ィールドã?«ä¸Žã?ˆã‚‹ã?“ã?¨ã?§ã€?タイムスタンプã?«å¤‰æ?›ã?§ã??ã?¾ã?™ã€‚

WHERE節ã?«ã?¦ã€?タイムスタンプを計算ã?™ã‚‹é–¢æ•°ã?«æ—¥æ™‚ã?®åˆ—ã‚’ç½®ã??ã?¹ã??ã?§ã?¯ã?‚りã?¾ã?›ã‚“。ã?ªã?œã?ªã‚‰ã‚ªãƒ—ティマイザã?Œã€?ã??ã?®åˆ—ã?¸ã?®ç´¢å¼•を利用ã?—ã?ªã??ã?ªã‚‹ã?‹ã‚‰ã?§ã?™ã€‚

TIMESTAMPDIFF
TIMESTAMPDIFF関数ã?«ã‚ˆã‚ŠæŒ‡å®šã?—ã?Ÿæ™‚é–“ã?®ç¨®é¡žã?«ã‚ˆã‚‹ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã?®é–“ã?®å·®ã‚’計算ã?§ã??ã?¾ã?™ã€‚例ã?ˆã?°ã€?関数ã?«ã‚ˆã‚ŠäºŒã?¤ã?®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—é–“ã?®åˆ†æ•°ã‚’è¿”ã?™ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

TIMESTAMPDIFFã?¯JDBCエスケープã?®é–¢æ•°ã?§ã€?JDBCエスケープ関数ã?®æ§‹æ–‡ã?§ã?®ã?¿åˆ©ç”¨ã?§ã??ã?¾ã?™ã€‚

TIMESTAMPDIFF( 時間�種類, タイムスタンプ�1, タイムスタンプ�2 )

日付や時刻ã?«TIMESTAMPDIFFを実行ã?™ã‚‹ã?«ã?¯ã€?日付や時刻をタイムスタンプã?«å¤‰æ?›ã?™ã‚‹å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚日付ã?¯æ™‚刻ã?®ãƒ•ィールドã?«00:00:00.0を与ã?ˆã‚‹ã?“ã?¨ã?§ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã?«å¤‰æ?›ã?§ã??ã?¾ã?™ã€‚時刻ã?¯ç?¾åœ¨æ—¥ä»˜ã‚’日付ã?®ãƒ•ィールドã?«ä¸Žã?ˆã‚‹ã?“ã?¨ã?§ã€?タイムスタンプã?«å¤‰æ?›ã?§ã??ã?¾ã?™ã€‚

WHERE節ã?«ã?¦ã€?タイムスタンプを計算ã?™ã‚‹é–¢æ•°ã?«æ—¥æ™‚ã?®åˆ—ã‚’ç½®ã??ã?¹ã??ã?§ã?¯ã?‚りã?¾ã?›ã‚“。ã?ªã?œã?ªã‚‰ã‚ªãƒ—ティマイザã?Œã€?ã??ã?®åˆ—ã?¸ã?®ç´¢å¼•を利用ã?—ã?ªã??ã?ªã‚‹ã?‹ã‚‰ã?§ã?™ã€‚

TIMESTAMPADD ã?Šã‚ˆã?³ TIMESTAMPDIFFã?«æŒ‡å®šã?§ã??る時間ã?®ç¨®é¡ž

TIMESTAMPADDã?Šã‚ˆã?³TIMESTAMPDIFFã?¯ã€?タイムスタンプã?¸ã?®ç®—術演算を行ã?†ã?Ÿã‚?ã?«ä½¿ã‚?れã?¾ã?™ã€‚ã?“れ等ã?®é–¢æ•°ã?¯ä»¥ä¸‹ã?«ã?‚ã?’る時間ã?®ç¨®é¡žã‚’演算処ç?†ã?§åˆ©ç”¨ã?§ã??ã?¾ã?™ã€‚

エスケープ関数�TIMESTAMPADD�TIMESTAMPDIFFを利用�る例

次ã?®æ›¸ã??æ–¹ã?§ã€?ç?¾åœ¨ã‚ˆã‚Šä¸€ãƒµæœˆå¾Œã?®å€¤ã‚’è¿”ã?—ã?¾ã?™ã€‚

{fn TIMESTAMPADD( SQL_TSI_MONTH, 1, CURRENT_TIMESTAMP)}

次ã?®æ›¸ã??æ–¹ã?§ã€?ç?¾åœ¨ã?¨2008å¹´1月1æ—¥ã?®é–“ã?Œä½•週間ã?‹ã‚’è¿”ã?—ã?¾ã?™ã€‚

{fn TIMESTAMPDIFF(SQL_TSI_WEEK, CURRENT_TIMESTAMP, 
  timestamp('2008-01-01-12.00.00.000000'))}
関連資料
呼�出�文�JDBCエスケープキーワード
JDBCエスケープ構文
LIKE節�JDBCエスケープ構文
外部���JDBCエスケープ構文
時刻書��JDBCエスケープ構文
日付書��JDBCエスケープ構文
タイムスタンプ書��JDBCエスケープ構文