Bagikan melalui


C ke SQL: Stempel waktu

Pengidentifikasi untuk jenis data ODBC C tanda waktu adalah:

SQL_C_TYPE_TIMESTAMP

Tabel berikut ini memperlihatkan tipe data ODBC SQL tempat data C tanda waktu 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

SQL_VARCHAR

SQL_LONGVARCHAR
Panjang byte kolom >= Panjang byte karakter

19 <= Panjang byte kolom Panjang < byte Karakter

Panjang byte kolom < 19

Nilai data bukan tanda waktu yang valid
n/a

22001

22001

22008
SQL_WCHAR

SQL_WVARCHAR

SQL_WLONGVARCHAR
Panjang >karakter kolom = Panjang karakter data

19 <= Panjang < karakter kolom Panjang karakter data

Panjang < karakter kolom 19

Nilai data bukan tanda waktu yang valid
n/a

22001

22001

22008
SQL_TYPE_DATE Bidang waktu adalah nol

Bidang waktu bukan nol

Nilai data tidak berisi tanggal yang valid
n/a

22008

22007
SQL_TYPE_TIME Bidang detik pecahan adalah nol[a]

Bidang detik pecahan bukan nol[a]

Nilai data tidak berisi waktu yang valid
n/a

22008

22007
SQL_TYPE_TIMESTAMP Bidang detik pecahan tidak dipotong

Bidang detik pecahan dipotong

Nilai data bukan tanda waktu yang valid
n/a

22008

22007

[a] Bidang tanggal struktur tanda waktu diabaikan.

Untuk informasi tentang nilai apa yang valid dalam struktur SQL_C_TIMESTAMP, lihat Jenis Data C, sebelumnya dalam lampiran ini.

Ketika data C tanda waktu dikonversi menjadi data SQL karakter, data karakter yang dihasilkan berada di "yyyy-mm-dd hh:mm:ss[.f...]" format.

Driver mengabaikan nilai panjang/indikator saat mengonversi data dari jenis data C tanda waktu dan mengasumsikan bahwa ukuran buffer data adalah ukuran jenis data C tanda waktu. 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.