Tips

DATETIME型のインポート

日付2009/01/01
ID09-004
バージョン11
プラットフォームWin & Mac

DATETIME 型は、日付と時間の双方をひとつのフィールドに持つ一般的なSQLデータタイプです。たとえば、DATETIME 型のフィールドは、"2008-12-04 12:34:56"のような値を持つことができます。日付と時間の情報を合わせて受け取ることができる4Dのフィールドタイプはないとはいえ、CAST関数を使用することにより、そのようなデータを取り込むことはできます。

CASTは表現式を特定のデータタイプに変換する関数です。

DATETIME型の値は、CAST関数を使用することにより、文字・日付・時間のデータに変換することができます。

たとえば、次の例題では、外部データベースに接続し、Begin SQL/End SQL表記を使用して、DATETIME型のフィールド"myDT"を3回取り込み、それぞれ文字配列、日付配列、時間(倍長整数)配列で受け取っています。

ARRAY STRING(40;$myString;0)
ARRAY DATE($myDate;0)
ARRAY LONGINT($myTime;0)

USE EXTERNAL DATABASE("odbc_connection";"username";"password")

Begin SQL
    SELECT CAST(myDT AS Char(40) ), CAST(myDT AS Date ), CAST(myDT AS TIME )
    FROM tester
    into :$myString, :$myDate, :$myTime
End SQL

USE INTERNAL DATABASE

次の例題では、外部データベースに接続し、SQL EXECUTEコマンドを使用して、DATETIME型のフィールド"myDT"を3回取り込み、それぞれ文字フィールド、日付フィールド、時間フィールドにインポートしています。

C_STRING(200;$myString;)

USE EXTERNAL DATABASE("odbc_connection";"username";"password")

$myStmt:=""
$myStmt:=$myStmt+"SELECT CAST(myDT AS Char(40) ), CAST(myDT AS Date ), CAST(myDT AS TIME )"
$myStmt:=$myStmt+"FROM myTable"

SQL EXECUTE($myStmt;[Table_1]myString;[Table_1]myDate;[Table_1]myTime)
SQL LOAD RECORD(SQL All Records)

USE INTERNAL DATABASE

注記:CAST関数で使用できるのは、接続した相手のデータベースで有効なデータタイプに限られます。サポートされているデータタイプの種類については、対象となるデータベースシステムのドキュメントを参照して下さい。