Dela via


SQL till C: Datum

Identifieraren för det datum då ODBC SQL-datatypen är:

SQL_TYPE_DATE

I följande tabell visas de ODBC C-datatyper som drivrutinen kan konvertera sql-datumdata till. En förklaring av kolumnerna och termerna i tabellen finns i Konvertera data från SQL till C-datatyper.

Anmärkning

För teckenkonverteringar måste BufferLength innehålla utrymme för null-avslutaren. En datumsträng är 10 tecken lång (yyyy-mm-dd), så BufferLength måste vara minst 11 byte för att undvika trunkering.

C-typidentifierare Testa * TargetValuePtr * StrLen_or_IndPtr SQLSTATE
SQL_C_CHAR BufferLength> Längd på teckenbyte

11 <= BufferLength<= Längd på teckenbyte

BufferLength< 11
Uppgifter

Trunkerade data

Odefinierad
10

Längden på data i byte

Odefinierad
Inte tillämpligt

01004

22003
SQL_C_WCHAR BufferLength> Teckenlängd

11 <= BufferLength<= Teckenlängd

BufferLength< 11
Uppgifter

Trunkerade data

Odefinierad
10

Längden på data i tecken

Odefinierad
Inte tillämpligt

01004

22003
SQL_C_BINARY Bytelängd för data <= BufferLength

Bytelängd för data >BufferLength
Uppgifter

Odefinierad
Längden på data i byte

Odefinierad
Inte tillämpligt

22003
SQL_C_TYPE_DATE Ingen1 Uppgifter 63 Inte tillämpligt
SQL_C_TYPE_TIMESTAMP Ingen1 Data2 163 Inte tillämpligt

1 Värdet för BufferLength ignoreras för den här konverteringen. Drivrutinen förutsätter att storleken på *TargetValuePtr är storleken på C-datatypen.

2 Drivrutinen anger tidsfälten för tidsstämpelstrukturen till noll.

3 Det här är storleken på motsvarande C-datatyp.

När drivrutinen konverterar datum-SQL-data till tecken-C-data är den resulterande strängen i formatet "åååå-mm-dd". Det här formatet påverkas inte av inställningen För Windows-land/region.