この記事では、SQL Server CONVERT() 関数を使用して、Visual FoxPro クエリを使用して SQL DateTime フィールドの日付部分を抽出する方法について説明します。
元の製品バージョン: Visual FoxPro
元の KB 番号: 308133
まとめ
SQL Server テーブルに格納されている日付は、DateTime データ型として格納されます。 SQL Server CONVERT() 関数を使用して、Visual FoxPro クエリを使用して SQL DateTime フィールドの日付部分を抽出できます。次に例を示します。
SELECT CONVERT(CHAR(10), <field name>, 101) FROM <table name>
クエリでフィルター条件を指定する場合でも、日付だけを指定できます。 式には時刻は必要ありません。 例えば次が挙げられます。
SELECT CONVERT(CHAR(10), <field name>, 101) FROM <table name> ;
WHERE <field name> = '01-01-1999'
上記の関数呼び出しの最初と 3 番目のパラメーター (CHAR(10) と 101) は、DateTime から Date を抽出することに固有です。 CONVERT 関数の SQL Server オンライン ブックのトピックでは、他の使用可能なオプションについて説明します。
詳細
次の Visual FoxPro サンプル コードは、SQL Server に接続し、データを取得します。 このコードでは、SQL CONVERT() 関数を使用して、DateTime フィールド 'ORD_DATE' の日付部分を抽出します。 CONVERT コマンドによって返されるデータ型は、Visual FoxPro の CHARACTER です。
このサンプルを使用するには、次の手順に従います。
Visual FoxPro 内の新しいプログラムに次のコードを貼り付けます。
*!* Enter your specific SQL Server information here. #DEFINE SQL_NAME " " #DEFINE SQL_UID " " #DEFINE SQL_PWD " "*~~~~~~~~~~~ LOCAL lcSQLConnStr, ; lnSQLConnHandle, ; lnSQLExecSuccess lcSQLConnStr = "DRIVER={SQL Server};SERVER=" + SQL_NAME + ; ";DATABASE=PUBS;UID=" + SQL_UID + ";PWD=" + SQL_PWD lnSQLConnHandle = SQLSTRINGCONNECT(lcSQLConnStr) IF lnSQLConnHandle < 1 LOCAL laErrArray[1] AERROR(laErrArray) WAIT WINDOW "Unable to connect:" + CHR(13) + laErrArray[3] RETURN .F. ENDIF lnSQLExecSuccess = SQLEXEC(lnSQLConnHandle, "SELECT stor_id, ord_num, ; CONVERT(CHAR(10), ord_date, 101) AS ord_date, qty, ; payterms, title_id from sales", "RESULTS") *!* Note that you can still use just a date value if using a WHERE clause *!* to filter the data: *!* lnSQLExecSuccess = SQLEXEC(lnSQLConnHandle, "SELECT stor_id, ord_num, ; *!* CONVERT(CHAR(10), ord_date, 101) AS ord_date, qty, payterms, ; *!* title_id from sales WHERE ord_date < '10/28/1993'", "RESULTS") IF lnSQLExecSuccess < 1 LOCAL laErrArray[1] AERROR(laErrArray) WAIT WINDOW "SQLEXEC() Failed:" + CHR(13) + laErrArray[3] ENDIF SQLDISCONNECT(lnSQLConnHandle) IF SELECT("RESULTS") > 0 SELECT RESULTS BROWSE NOWAIT ENDIF指定されたコードの上部に、SQL Server の名前、ユーザー ID、およびパスワードを入力します。
コードを保存して実行します。
関連情報
SQL Convert 関数の詳細については、SQL Server オンライン ブックを参照してください。