SQL ke C: Stempel waktu
Pengidentifikasi untuk jenis data ODBC SQL tanda waktu adalah sebagai berikut:
- SQL_TYPE_TIMESTAMP
Tabel berikut ini memperlihatkan tipe data ODBC C tempat data SQL tanda waktu 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_CHAR | Panjang byte Karakter BufferLength> 20 <= BufferLength<= Panjang byte karakter BufferLength< 20 |
Data Data terpotong[b] Tidak terdefinisi |
Panjang data dalam byte Panjang data dalam byte Tidak terdefinisi |
n/a 01004 22003 |
SQL_C_WCHAR | Panjang Karakter BufferLength> 20 <= BufferLength<= Panjang karakter BufferLength< 20 |
Data Data terpotong[b] Tidak terdefinisi |
Panjang data dalam karakter Panjang data dalam karakter Tidak terdefinisi |
n/a 01004 22003 |
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_TYPE_DATE | Bagian waktu tanda waktu adalah nol[a] Bagian waktu tanda waktu bukan nol[a] |
Data Data terpotong[c] |
6[f] 6[f] |
n/a 01S07 |
SQL_C_TYPE_TIME | Bagian detik pecahan dari tanda waktu adalah nol[a] Bagian detik pecahan dari tanda waktu bukan nol[a] |
Data[d] Data terpotong[d], [e] |
6[f] 6[f] |
n/a 01S07 |
SQL_C_TYPE_TIMESTAMP | Bagian detik pecahan dari tanda waktu tidak terpotong[a] Bagian detik pecahan dari tanda waktu dipotong[a] |
Data[e] Data terpotong[e] |
16[f] 16[f] |
n/a 01S07 |
[a] Nilai BufferLength diabaikan untuk konversi ini. Driver mengasumsikan bahwa ukuran *TargetValuePtr adalah ukuran jenis data C.
[b] Detik pecahan tanda waktu terpotong.
[c] Bagian waktu tanda waktu terpotong.
[d] Bagian tanggal tanda waktu diabaikan.
[e] Bagian detik pecahan dari tanda waktu terpotong.
[f] Ini adalah ukuran jenis data C yang sesuai.
Ketika data SQL tanda waktu dikonversi ke data karakter C, string yang dihasilkan berada di "yyyy-mm-dd hh:mm:ss[.f...]", di mana hingga sembilan digit dapat digunakan untuk detik pecahan. Format ini tidak terpengaruh oleh pengaturan negara/wilayah Windows. (Kecuali untuk titik desimal dan detik pecahan, seluruh format harus digunakan, terlepas dari presisi jenis data SQL tanda waktu.)