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

戻る
戻る
 
次へ
次へ
 

定数

定数はリテラル値です。

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 一重引用符(')で囲まれたYYYY-MM-DD HH:MI:SS書式の文字列です。次に例を示します。
'2007-01-27 12:00:00'

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'}
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の値が適切なTIME構文に従っていれば、C1から得られるCHARの各値は、比較の前にTIME値に変換されます。

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

TimestampLiteral 書式: TIMESTAMP TimestampString

次に例を示します。

TIMESTAMP '2007-01-27 11:00:00.000000'

TIMESTAMPデータ型の場合は、小数フィールドで0から9桁の小数秒がサポートされます。TT_TIMESTAMPデータ型の場合は、小数フィールドで0から6桁の小数秒がサポートされます。

TIMESTAMPキーワードの大文字と小文字は区別されません。

CHARデータ型およびVARCHAR2データ型のDATE/TIME/TIMESTAMPの比較を実行する場合、リテラル構文を使用できます。

TimesTenでは、ODBCのタイムスタンプ・リテラル構文もサポートされています。次に例を示します。

{ts '9999-12-31 12:00:00'}

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(非数)を表します。