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:

  1. 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
    
  2. SQL Server adınızı, kullanıcı kimliğinizi ve parolanızı belirtilen kodun en üstüne girin.

  3. 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.