Convert 関数は、Visual FoxPro クエリSQL Server DateTime フィールドから日付を取得します
この記事では、SQL ServerCONVERT()
関数を使用して、Visual FoxPro クエリを使用して SQL DateTime フィールドの日付部分を抽出する方法について説明します。
元の製品バージョン: Visual FoxPro
元の KB 番号: 308133
概要
SQL Server テーブルに格納されている日付は、DateTime データ型として格納されます。 SQL ServerCONVERT()
関数を使用して、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'
上記の関数呼び出し (CHAR(10) と 101) の最初と 3 番目のパラメーターは、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」を参照してください。