ヘッダーをスキップ
Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド
リリース6.0
B25770-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

定数

定数はリテラル値です。

SQL構文
{IntegerValue | FloatValue | FixedPointValue |
'CharacterString'| 0xHexadecimalString | 'DateString' |
DateLiteral | 'TimeString' | TimeLiteral |
'TimestampString' | TimestampLiteral | IntervalLiteral

}

IntegerValue
INTEGER、BIGINT、SMALLINTデータ型と互換性のある整数、またはTINYINTデータ型と互換性のある符号なし整数です。次に例を示します。
155
5
FloatValue
DOUBLEデータ型またはREALデータ型と互換性のある浮動小数点数です。次に例を示します。
.2E-4
FixedPointValue
DOUBLE、REAL、DECIMAL、NUMERICデータ型と互換性のある固定小数点数です。次に例を示します。
27.03
CharacterString
CHARデータ型またはVARCHARデータ型と互換性のある文字列です。文字列定数は、一重引用符で囲みます。次に例を示します。
'DON''T JUMP!'
行中の2つの一重引用符は一重引用符として解釈され、区切り文字や空の文字列としては解釈されません。
NationalCharacterString
NCHARデータ型またはNVARCHARデータ型と互換性のある文字列です。各国語文字列定数の先頭には、'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およびVARCHARデータ型と互換性があります。HexadecimalString定数の先頭には、文字0xを付加する必要があります。次に例を示します。0xFFFAB0880088343330FFAA7または0x000A001231
DateString
'1999-08-02'のように、一重引用符(')で囲まれたYYYY-MM-DD形式の文字列です。YYYYフィールドには4桁の値を指定します。MMとDDフィールドには、2桁の値を指定します。空白は、後続の空白(日のフィールドの後)のみ使用できます。範囲は'1753-01-01'から'9999-12-31'です。次に例を示します。
'1999-08-02'
DateLiteral
形式は、DATE DateString(DATE '1999-08-02'など)です。
DATEキーワードの大文字と小文字は区別されます。
TimesTenでは、ODBCの日付リテラル構文もサポートされています。
次に例を示します。
{d '9999-12-31'}
詳細は、ご使用のリリースのTimesTenに同梱されている『Microsoft ODBC Programmer's Reference and SDK Guide』を参照してください。
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[.FFFFFF]形式の文字列です。範囲は'1753-01-01 00:00:00.000000'から'9999-12-31 23:59:59.999999'です。年のフィールドは、4桁である必要があります。他のフィールドは、小数部を除いて2桁の値である必要があります。小数部は6桁以内で指定できます。たとえば、C1というCHAR列があり、TIMEを比較する場合、次の文を実行できます。
SELECT * FROM testable WHERE C1 = TIME '12:00:00'
この例では、C1から得られるCHARの各値は、C1の値がTIME構文で適切であれば、比較の前にTIME値に変換されます。
TimestampLiteral
形式は、TIMESTAMP TimestampStringです。
TIMESTAMPキーワードの大文字と小文字は区別されます。
CHAR/VARCHARデータ型のDATE/TIME/TIMESTAMPの比較を実行する場合、リテラル構文を使用できます。
TimesTenでは、ODBCのタイムスタンプ・リテラル構文もサポートされています。次に例を示します。{ts '9999-12-31 12:00:00'}
詳細は、ご使用のリリースのTimesTenに同梱されている『Microsoft ODBC Programmer's Reference and SDK Guide』を参照してください。
IntervalLiteral
形式は、INTERVAL [+\-] CharacterString IntervalQualifierです。
次に例を示します。INTERVAL '8' DAY