public class Literal extends PrimaryValue
プロパティ型 | リテラル表現 | 例 |
---|---|---|
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 |
Boolean | true もしくは false。大文字も可。 | true FALSE |
Select | SelectValueの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
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
DATE_FROMAT
EQL上のDate型の文字列表現時のフォーマット(SimpleDateFormat形式)
|
static java.lang.String |
DATE_TIME_FROMAT
EQL上のDateTime型の文字列表現時のフォーマット。
|
static java.lang.String |
DATE_TIME_WITH_TZ_FROMAT
EQL上のDateTime型の文字列表現時のフォーマット。
|
static java.lang.String |
NO_BIND_HINT |
static java.lang.String |
TIME_FROMAT
EQL上のTime型の文字列表現時のフォーマット(SimpleDateFormat形式)
|
コンストラクタと説明 |
---|
Literal() |
Literal(java.lang.Object value) |
Literal(java.lang.Object value,
boolean bindable) |
修飾子とタイプ | メソッドと説明 |
---|---|
ASTNode |
accept(ASTTransformer transformer) |
void |
accept(ValueExpressionVisitor visitor) |
boolean |
equals(java.lang.Object obj) |
java.lang.Object |
getValue() |
int |
hashCode() |
boolean |
isBindable() |
void |
setBindable(boolean bindable) |
void |
setValue(java.lang.Object value) |
java.lang.String |
toString() |
newValue
public static final java.lang.String DATE_FROMAT
public static final java.lang.String TIME_FROMAT
public static final java.lang.String DATE_TIME_FROMAT
public static final java.lang.String DATE_TIME_WITH_TZ_FROMAT
public static final java.lang.String NO_BIND_HINT
public Literal()
public Literal(java.lang.Object value)
public Literal(java.lang.Object value, boolean bindable)
public java.lang.Object getValue()
public void setValue(java.lang.Object value)
public boolean isBindable()
public void setBindable(boolean bindable)
public void accept(ValueExpressionVisitor visitor)
accept
クラス内 ValueExpression
public java.lang.String toString()
public ASTNode accept(ASTTransformer transformer)
public int hashCode()