ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース7.0
E05176-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

定数

定数はリテラル値です。

SQL構文

{IntegerValue | FloatValue |FloatingPointLiteral|

    FixedPointValue | 'CharacterString'|

    'NationalCharacterString' | 0xHexadecimalString |

    'DateString' | DateLiteral |'TimeString' |

    TimeLiteral | 'TimestampString' | TimestampLiteral |

    IntervalLiteral | BINARY_FLOAT_INFINITY |

    BINARY_DOUBLE_INFINITY | -BINARY_FLOAT_INFINITY |

    -BINARY_DOUBLE_INFINITY | BINARY_FLOAT_NAN |

     BINARY_DOUBLE_NAN

}

IntegerValue
TT_INTEGER、TT_BIGINT、TT_SMALLINTデータ型と互換性のある整数、またはTT_TINYINTデータ型と互換性のある符号なし整数です。次に例を示します。
155、5、-17
FloatValue
BINARY_FLOATデータ型またはBINARY_DOUBLEデータ型と互換性のある浮動小数点数です。次に例を示します。
.2E-4、1.23e -4、27.03、-13.1
FloatingPointLiteral
浮動小数点リテラルは、BINARY_FLOATデータ型およびBINARY_DOUBLEデータ型と互換性があります。fまたはFは、数値が32ビット浮動小数点数(BINARY_FLOAT型)であることを示します。dまたはDは、数値が64ビット浮動小数点数(BINARY_DOUBLE型)であることを示します。
次に例を示します。
123.23F、0.5d
FixedPointValue
BINARY_FLOAT、BINARY_DOUBLE、NUMBERデータ型と互換性のある固定小数点数です。次に例を示します。
27.03
CharacterString
CHARデータ型またはVARCHAR2データ型と互換性のある文字列です。文字列定数は、一重引用符で囲みます。次に例を示します。
'DON''T JUMP!'
行中の2つの一重引用符は一重引用符として解釈され、区切り文字や空の文字列としては解釈されません。
NationalCharacterString
NCHARデータ型またはNVARCHAR2データ型と互換性のある文字列です。各国語文字列定数の先頭には、'N'または'n'のインジケータが付加され、一重引用符で区切られます。次に例を示します。

N'Here''s how!'

行中の2つの一重引用符は、一重引用符として解釈されます。
各国語文字列定数は、次の組合せで構成されます。
  • ASCII文字
  • UTF-8にエンコードされたUnicode文字
  • エスケープされたUnicode文字
ASCII文字およびUTF-8にエンコードされた文字は、対応するUTF-16書式のUnicode文字に内部的に変換されます。
エスケープされたUnicode文字の書式は\uxxxxです。xxxxは、Unicode文字を表す4桁の16進数字です。次に例を示します。

N'This is an \u0061'

これは、次と同じです。

N'This is an a'

もう1つの\を使用して、\u自体をエスケープできます。シーケンス\\uは、常に\uに変換されます。他のエスケープ文字は認識されません。
HexadecimalString
16進数字の文字列0-9とA-F(またはa-f)は、BINARY、VARBINARY、CHARおよびVARCHAR2データ型と互換性があります。HexadecimalString定数の先頭には、文字0xを付加する必要があります。次に例を示します。
0xFFFAB0880088343330FFAA7または
0x000A001231
DateString
'2007-01-27 12:00:00'のように、一重引用符(')で囲まれたYYYY-MM-DD HH:MI:SS 書式の文字列です。YYYYフィールドには4桁の値を指定します。MMDDフィールドには2桁の値を指定します。空白は、後続の空白(日のフィールドの後)のみ使用できます。範囲は'-4713-01-01'(紀元前4712年1月1日)から'9999-12-31'(9999年12月31日)までです。時刻部分は必須ではありません。次に例を示します。
`2007-01-27' TT_DATEデータ型の場合、文字列の書式はYYYY-MM-DDで、範囲は`1753-01-01'から`9999-12-31'までです。

TimesTen型モードを使用している場合、DateStringの詳細は、TimesTenの以前のリリースのドキュメントを参照してください。

DateLiteral
書式はDATE DateStringです。次に例を示します。
DATE '2007-01-27'または
DATE '2007-01-27 12:00:00'
TT_DATEデータ型の場合は、TT_DATEリテラル(TT_DATE '2007-01-27'など)を使用します。TT_DATEリテラルでは時刻部分は指定しないでください。
DATEキーワードの大文字と小文字は区別されません。
TimesTenでは、ODBCの日付リテラル構文もサポートされています。次に例を示します。
{d '2007-01-27'}
詳細は、ご使用のリリースのTimesTenに同梱されている『Microsoft ODBC Programmer's Reference and SDK Guide』を参照してください。

TimesTen型モードを使用している場合、DateLiteralの詳細は、TimesTenの以前のリリースのドキュメントを参照してください。

TimeString
一重引用符(')で囲まれたHH:MM:SS書式の文字列です。次に例を示します。
'20:25:30'
範囲は'00:00:00'から'23:59:59'です。コンポーネントはすべて2桁である必要があります。後続の空白(2番目のフィールドの後)のみ使用できます。
TimeLiteral
書式はTIME TimeStringです。次に例を示します。
TIME '20:25:30'
TIMEキーワードの大文字と小文字は区別されません。
次に例を示します。
INSERT INTO timetable VALUES (TIME '10:00:00');
SELECT * FROM timetable WHERE col1 < TIME '10:00:00';
TimesTenでは、ODBCの日付リテラル構文もサポートされています。次に例を示します。
{t '12:00:00'}.
詳細は、ご使用のリリースのTimesTenに同梱されている『Microsoft ODBC Programmer's Reference and SDK Guide』を参照してください。
TimestampString
一重引用符(')で囲まれたYYYY-MM-DD HH:MM:SS[.FFFFFFFFF]書式の文字列です。範囲は'-4713-01-01'(紀元前4712年1月1日)から`9999-12-31'(9999年12月31日)までです。年のフィールドは、4桁である必要があります。他のフィールドは、小数部を除いて2桁の値である必要があります。小数部は0から9桁で指定できます。
TT_TIMESTAMPデータ型の場合、文字列の書式は一重引用符(')で囲まれた
YYYY-MM-DD HH:MM:SS[.FFFFFF]で、範囲は`1753-01-01 00:00:00.000000'から'9999-12-31 23:59:59.999999'までです。小数部は6桁以内で指定できます。
たとえば、C1というCHAR列があり、TIMEを比較する場合、次の文を実行できます。
SELECT * FROM testable WHERE C1 = TIME '12:00:00'
この例では、C1から得られるCHARの各値は、比較の前にTIME値に変換され、適切なTIME構文にしたがってC1に挿入されます。

TimesTen型モードを使用している場合、TimestampStringの詳細は、TimesTenの以前のリリースのドキュメントを参照してください。

TimestampLiteral
書式はTIMESTAMP TimestampStringです。
次に例を示します。
TIMESTAMP `2007-01-27 11:00:00.000000'
TIMESTAMPデータ型の場合は、小数フィールドで0から9桁の小数秒がサポートされます。TT_TIMESTAMPデータ型の場合は、小数フィールドで0から6桁の小数秒がサポートされます。
TIMESTAMPキーワードの大文字と小文字は区別されません。
CHAR/VARCHAR型のDATE/TIME/TIMESTAMPの比較を実行する場合、リテラル構文を使用できます。
TimesTenでは、ODBCのタイムスタンプ・リテラル構文もサポートされています。次に例を示します。
{ts '9999-12-31 12:00:00'}
詳細は、ご使用のリリースのTimesTenに同梱されている『Microsoft ODBC Programmer's Reference and SDK Guide』を参照してください。

TimesTen型モードを使用している場合、TimestampLiteralの詳細は、TimesTenの以前のリリースのドキュメントを参照してください。

IntervalLiteral
書式はINTERVAL [+\-] CharacterString IntervalQualifierです。次に例を示します。
INTERVAL `8' DAY
BINARY_
FLOAT_INFINITY| BINARY_
DOUBLE_INFINITY
INF(正の無限大)は、BINARY_FLOATデータ型およびBINARY_DOUBLEデータ型と互換性があるIEEE浮動小数点値です。定数値BINARY_FLOAT_INFINITYまたは
BINARY_DOUBLE_INFINITYを使用して、正の無限大を表します。
-BINARY_
FLOAT_INFINITY|
-BINARY_DOUBLE_
INFINITY
-INF(負の無限大)は、BINARY_FLOATデータ型およびBINARY_DOUBLEデータ型と互換性があるIEEE浮動小数点値です。定数値-BINARY_FLOAT_INFINITYおよび-BINARY_DOUBLE_INFINITYを使用して、負の無限大を表します。
BINARY_FLOAT_NAN|
BINARY_DOUBLE_NAN
NaN(非数)は、BINARY_FLOATデータ型およびBINARY_DOUBLEデータ型と互換性があるIEEE浮動小数点値です。定数値BINARY_FLOAT_NANまたはBINARY_DOUBLE_NANを使用して、NaN(非数)を表します。