Convert işlevi, Visual FoxPro sorgusuyla SQL Server DateTime alanından tarih alır
Bu makalede, Visual FoxPro sorgusuyla SQL DateTime alanının tarih bölümünü ayıklamak için SQL Server CONVERT()
işlevinin nasıl kullanılacağı açıklanmaktadır.
Orijinal ürün sürümü: Visual FoxPro
Özgün KB numarası: 308133
Özet
SQL Server tablosunda depolanan tarihler DateTime veri türü olarak depolanır. sql datetime alanının tarih bölümünü Visual FoxPro sorgusuyla ayıklamak için SQL Server CONVERT()
işlevini kullanabilirsiniz; örneğin:
SELECT CONVERT(CHAR(10), <field name>, 101) FROM <table name>
Yine de sorguda bir filtre koşulu belirtirken yalnızca tarihi belirtebilirsiniz. İfadede saat gerekli değildir. Örneğin:
SELECT CONVERT(CHAR(10), <field name>, 101) FROM <table name> ;
WHERE <field name> = '01-01-1999'
Yukarıdaki işlev çağrısındaki birinci ve üçüncü parametreler (CHAR(10) ve 101), DateTime'dan Date'i ayıklamaya özeldir. ÇEVİr işlevinin SQL Server Kitaplar Çevrimiçi konusu, kullanılabilir diğer seçenekleri açıklar.
Daha fazla bilgi
Aşağıdaki Visual FoxPro örnek kodu SQL Server bağlanır ve verileri alır. Kod, 'ORD_DATE' DateTime alanının tarih bölümünü ayıklamak için SQL CONVERT()
işlevini kullanır. DÖNÜŞTÜR komutu tarafından döndürülen veri türü, Visual FoxPro'da KARAKTER'dir.
Bu örneği kullanmak için şu adımları izleyin:
Aşağıdaki kodu Visual FoxPro'nun içine yeni bir programa yapıştırın:
*!* 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 adınızı, kullanıcı kimliğinizi ve parolanızı belirtilen kodun en üstüne girin.
Kodu kaydedin ve çalıştırın.
Başvurular
SQL Convert
işlevi hakkında daha fazla bilgi için bkz. çevrimiçi kitaplar SQL Server.