Bagikan melalui


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