Bagikan melalui


C ke SQL: Interval Tahun Bulan

Pengidentifikasi untuk jenis data ODBC C interval bulan tahunan adalah:

SQL_C_INTERVAL_MONTH SQL_C_INTERVAL_YEAR SQL_C_INTERVAL_YEAR_TO_MONTH

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

Pengidentifikasi jenis SQL Uji SQLSTATE
SQL_CHAR[a]

SQL_VARCHAR[a]

SQL_LONGVARCHAR[a]
Panjang byte kolom >= Panjang byte karakter

Panjang < byte kolom Panjang byte karakter[a]

Nilai data bukan literal interval yang valid
n/a

22001

22015
SQL_WCHAR[a]

SQL_WVARCHAR[a]

SQL_WLONGVARCHAR[a]
Panjang >karakter kolom = Panjang karakter data

Panjang < karakter kolom Panjang karakter data[a]

Nilai data bukan literal interval yang valid
n/a

22001

22015
SQL_TINYINT[b]

SQL_SMALLINT[b]

SQL_INTEGER[b]

SQL_BIGINT[b]

SQL_NUMERIC[b]

SQL_DECIMAL[b]
Konversi interval bidang tunggal tidak menghasilkan pemotongan seluruh digit

Konversi menghasilkan pemotongan seluruh digit
n/a

22003
SQL_INTERVAL_MONTH

SQL_INTERVAL_YEAR

SQL_INTERVAL_YEAR_TO_MONTH
Nilai data dikonversi tanpa pemotongan bidang apa pun

Satu atau beberapa bidang nilai data dipotong selama konversi
n/a

22015

[a] Semua jenis data interval C dapat dikonversi ke jenis data karakter.

[b] Jika bidang jenis dalam struktur interval sedih sehingga interval adalah bidang tunggal (SQL_YEAR atau SQL_MONTH), tipe C interval dapat dikonversi ke numerik yang tepat (SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_DECIMAL, atau SQL_NUMERIC).

Konversi default dari jenis interval C adalah ke jenis SQL interval bulan tahun yang sesuai.

Driver mengabaikan nilai panjang/indikator saat mengonversi data dari jenis data C interval dan mengasumsikan bahwa ukuran buffer data adalah ukuran jenis data C interval. Nilai panjang/indikator diteruskan dalam argumen StrLen_or_Ind di SQLPutData dan dalam buffer yang ditentukan dengan argumen StrLen_or_IndPtr di SQLBindParameter. Buffer data ditentukan dengan argumen DataPtr di SQLPutData dan argumen ParameterValuePtr di SQLBindParameter.