Class Literal
java.lang.Object
org.iplass.mtp.entity.query.value.ValueExpression
org.iplass.mtp.entity.query.value.primary.PrimaryValue
org.iplass.mtp.entity.query.value.primary.Literal
- All Implemented Interfaces:
- Serializable,- ASTNode
リテラルを表す。
 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 | 
| 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
 
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final StringEQL上のDate型の文字列表現時のフォーマット(SimpleDateFormat形式)static final StringEQL上のDateTime型の文字列表現時のフォーマット。タイムゾーン未指定の場合(SimpleDateFormat形式)。テナントローカルのタイムゾーンで処理されるstatic final StringEQL上のDateTime型の文字列表現時のフォーマット。タイムゾーン指定ありの場合(SimpleDateFormat形式)static final Stringstatic final StringEQL上のTime型の文字列表現時のフォーマット(SimpleDateFormat形式)
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionaccept(ASTTransformer transformer) voidaccept(ValueExpressionVisitor visitor) booleangetValue()inthashCode()booleanvoidsetBindable(boolean bindable) voidtoString()Methods inherited from class org.iplass.mtp.entity.query.value.ValueExpressionnewValue
- 
Field Details- 
DATE_FROMATEQL上のDate型の文字列表現時のフォーマット(SimpleDateFormat形式)- See Also:
 
- 
TIME_FROMATEQL上のTime型の文字列表現時のフォーマット(SimpleDateFormat形式)- See Also:
 
- 
DATE_TIME_FROMATEQL上のDateTime型の文字列表現時のフォーマット。タイムゾーン未指定の場合(SimpleDateFormat形式)。テナントローカルのタイムゾーンで処理される- See Also:
 
- 
DATE_TIME_WITH_TZ_FROMATEQL上のDateTime型の文字列表現時のフォーマット。タイムゾーン指定ありの場合(SimpleDateFormat形式)- See Also:
 
- 
NO_BIND_HINT- See Also:
 
 
- 
- 
Constructor Details- 
Literalpublic Literal()
- 
Literal
- 
Literal
 
- 
- 
Method Details- 
getValue
- 
setValue
- 
isBindablepublic boolean isBindable()
- 
setBindablepublic void setBindable(boolean bindable) 
- 
accept- Specified by:
- acceptin class- ValueExpression
 
- 
toString
- 
accept
- 
hashCodepublic int hashCode()
- 
equals
 
-