クラス Literal

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

public class Literal extends PrimaryValue
リテラルを表す。 EQL上での各プロパティのリテラル表現は以下の形。
プロパティ型リテラル表現
String'で囲まれた文字列表現。'は''でエスケープ'aaaテスト文字'
'I''m a cat.'
Integer数値表現のサフィックスとして、Iもしくはiを指定。もしくは、小数部指定を含まない数値表現。1234I
10i
54
Float数値表現のサフィックスとして、Fもしくはfを指定。もしくは、小数部指定を含む数値表現。1234.123F
0.12f
10.5
Decimal数値表現のサフィックスとして、Gもしくはgを指定。1234.123G
10001g
Booleantrue もしくは false。大文字も可。true
FALSE
SelectSelectValueのvalueを文字列して指定。サフィックスとしてSもしくはsを指定。'A01'S
'1's
Date'yyyy-MM-dd'形式の日付表現文字列。サフィックスとしてDもしくはdを指定。'2012-12-11'D
'2011-11-15'd
Time'HH:mm:ss'形式の日付表現文字列。サフィックスとしてTもしくはtを指定。'03:01:00'T
'18:24:15't
DateTime'yyyy-MM-dd HH:mm:ss.SSS'(タイムゾーン指定する場合:'yyyy-MM-dd HH:mm:ss.SSSXXX')形式の日付表現文字列。
サフィックスとしてMもしくはmを指定。
タイムゾーン指定がない場合は、テナントローカルに設定されているタイムゾーンと判断する。
'2011-11-15 16:03:01.123'M
'2010-01-30 01:25:01.200'm
'2010-01-30 01:25:01.200+09:00'M

Literalはまた、当該値がネイティブのクエリーに変換される際にバインド変数として扱うかどうかのフラグbindableを持つ。Select文先頭のヒント句でbindが有効化された場合、 当該フラグがtrueのものはバインド変数化されてクエリーされる。ただし実際の値がnullの場合はフラグをtrueにセットしてもバインドされない。 デフォルトはtrue
bindableをfalseに設定するEQL上の文法は、リテラル値の前に/*+no_bind*/をつける。
記述例:
/*+no_bind*/15
/*+no_bind*/'hoge'
/*+ no_bind */'A01'S

関連項目:
  • フィールド詳細

    • DATE_FROMAT

      public static final String DATE_FROMAT
      EQL上のDate型の文字列表現時のフォーマット(SimpleDateFormat形式)
      関連項目:
    • TIME_FROMAT

      public static final String TIME_FROMAT
      EQL上のTime型の文字列表現時のフォーマット(SimpleDateFormat形式)
      関連項目:
    • DATE_TIME_FROMAT

      public static final String DATE_TIME_FROMAT
      EQL上のDateTime型の文字列表現時のフォーマット。タイムゾーン未指定の場合(SimpleDateFormat形式)。テナントローカルのタイムゾーンで処理される
      関連項目:
    • DATE_TIME_WITH_TZ_FROMAT

      public static final String DATE_TIME_WITH_TZ_FROMAT
      EQL上のDateTime型の文字列表現時のフォーマット。タイムゾーン指定ありの場合(SimpleDateFormat形式)
      関連項目:
    • NO_BIND_HINT

      public static final String NO_BIND_HINT
      関連項目:
  • コンストラクタの詳細

    • Literal

      public Literal()
    • Literal

      public Literal(Object value)
    • Literal

      public Literal(Object value, boolean bindable)
  • メソッドの詳細