Bagikan melalui


SQL ke C: Interval Tahun Bulan

Pengidentifikasi untuk jenis data ODBC SQL interval bulanan adalah sebagai berikut:

  • SQL_INTERVAL_MONTH
  • SQL_INTERVAL_YEAR
  • SQL_INTERVAL_YEAR_TO_MONTH

Tabel berikut ini memperlihatkan tipe data ODBC C tempat data SQL interval bulanan tahunan dapat dikonversi. Untuk penjelasan tentang kolom dan istilah dalam tabel, lihat Mengonversi Data dari SQL ke Jenis Data C.

Pengidentifikasi tipe C Uji TargetValuePtr StrLen_or_IndPtr SQLSTATE
SQL_C_INTERVAL_MONTH[a]

SQL_C_INTERVAL_YEAR[a]

SQL_C_INTERVAL_YEAR_TO_MONTH[a]
Bagian bidang berikutnya tidak terpotong

Bagian bidang berikutnya terpotong

Presisi target terdepan tidak cukup besar untuk menyimpan data dari sumber
Data

Data terpotong

Tidak terdefinisi
Panjang data dalam byte

Panjang data dalam byte

Tidak terdefinisi
n/a

01S07

22015
SQL_C_STINYINT[b]

SQL_C_UTINYINT[b]

SQL_C_USHORT[b]

SQL_C_SHORT[b]

SQL_C_SLONG[b]

SQL_C_ULONG[b]

SQL_C_NUMERIC[b]

SQL_C_BIGINT[b]
Presisi interval adalah bidang tunggal dan data dikonversi tanpa pemotongan

Presisi interval adalah bidang tunggal dan utuh terpotong

Presisi interval bukan bidang tunggal
Data

Data terpotong

Tidak terdefinisi
Ukuran tipe data C

Panjang data dalam byte

Ukuran tipe data C
n/a

22003

22015
SQL_C_BINARY Panjang byte data <= BufferLength

Panjang byte data >BufferLength
Data

Tidak terdefinisi
Panjang data dalam byte

Tidak terdefinisi
n/a

22003
SQL_C_CHAR Panjang byte karakter <BufferLength

Jumlah keseluruhan (dibandingkan dengan digit <pecahan) BufferLength

Jumlah digit keseluruhan (dibandingkan dengan pecahan) >= BufferLength
Data

Data terpotong

Tidak terdefinisi
Ukuran tipe data C

Ukuran tipe data C

Tidak terdefinisi
n/a

01004

22003
SQL_C_WCHAR Panjang karakter <BufferLength

Jumlah keseluruhan (dibandingkan dengan digit <pecahan) BufferLength

Jumlah digit keseluruhan (dibandingkan dengan pecahan) >= BufferLength
Data

Data terpotong

Tidak terdefinisi
Ukuran tipe data C

Ukuran tipe data C

Tidak terdefinisi
n/a

01004

22003

[a] Jenis SQL interval bulan-tahun dapat dikonversi ke jenis C interval bulan tahunan apa pun.

[b] Jika presisi interval adalah bidang tunggal (satu dari TAHUN atau BULAN), jenis SQL interval dapat dikonversi ke numerik yang tepat (SQL_C_STINYINT, SQL_C_UTINYINT, SQL_C_USHORT, SQL_C_SHORT, SQL_C_SLONG, SQL_C_ULONG, atau SQL_C_NUMERIC).

Konversi default

Konversi default jenis SQL interval adalah ke jenis data interval C yang sesuai. Aplikasi kemudian mengikat kolom atau parameter (atau mengatur bidang SQL_DESC_DATA_PTR dalam catatan ARD yang sesuai) untuk menunjuk ke struktur SQL_INTERVAL_STRUCT yang diinisialisasi (atau meneruskan penunjuk ke struktur SQL_ INTERVAL_STRUCT sebagai argumen TargetValuePtr dalam panggilan ke SQLGetData).