SQL to C Data Conversion Examples
The examples shown in the following table illustrate how the driver converts SQL data to C data :
SQL type identifier |
SQL data value |
C type identifier |
Buffer length |
*TargetValuePtr | SQLSTATE |
---|---|---|---|---|---|
SQL_CHAR | abcdef | SQL_C_CHAR | 7 | abcdef\0[a] | n/a |
SQL_CHAR | abcdef | SQL_C_CHAR | 6 | abcde\0[a] | 01004 |
SQL_DECIMAL | 1234.56 | SQL_C_CHAR | 8 | 1234.56\0[a] | n/a |
SQL_DECIMAL | 1234.56 | SQL_C_CHAR | 5 | 1234\0[a] | 01004 |
SQL_DECIMAL | 1234.56 | SQL_C_CHAR | 4 | ---- | 22003 |
SQL_DECIMAL | 1234.56 | SQL_C_FLOAT | ignored | 1234.56 | n/a |
SQL_DECIMAL | 1234.56 | SQL_C_SSHORT | ignored | 1234 | 01S07 |
SQL_DECIMAL | 1234.56 | SQL_C_STINYINT | ignored | ---- | 22003 |
SQL_DOUBLE | 1.2345678 | SQL_C_DOUBLE | ignored | 1.2345678 | n/a |
SQL_DOUBLE | 1.2345678 | SQL_C_FLOAT | ignored | 1.234567 | n/a |
SQL_DOUBLE | 1.2345678 | SQL_C_STINYINT | ignored | 1 | n/a |
SQL_TYPE_DATE | 1992-12-31 | SQL_C_CHAR | 11 | 1992-12-31\0[a] | n/a |
SQL_TYPE_DATE | 1992-12-31 | SQL_C_CHAR | 10 | ----- | 22003 |
SQL_TYPE_DATE | 1992-12-31 | SQL_C_TIMESTAMP | ignored | 1992,12,31, 0,0,0,0[b] | n/a |
SQL_TYPE_TIMESTAMP | 1992-12-31 23:45:55.12 | SQL_C_CHAR | 23 | 1992-12-31 23:45:55.12\0[a] | n/a |
SQL_TYPE_TIMESTAMP | 1992-12-31 23:45:55.12 | SQL_C_CHAR | 22 | 1992-12-31 23:45:55.1\0[a] | 01004 |
SQL_TYPE_TIMESTAMP | 1992-12-31 23:45:55.12 | SQL_C_CHAR | 18 | ---- | 22003 |
[a] "\0" represents a null-termination byte. The driver always null-terminates SQL_C_CHAR data.
[b] The numbers in this list are the numbers stored in the fields of the TIMESTAMP_STRUCT structure.
प्रतिक्रिया
https://aka.ms/ContentUserFeedback.
जल्द आ रहा है: 2024 के दौरान हम सामग्री के लिए फीडबैक तंत्र के रूप में GitHub मुद्दों को चरणबद्ध तरीके से समाप्त कर देंगे और इसे एक नई फीडबैक प्रणाली से बदल देंगे. अधिक जानकारी के लिए, देखें:के लिए प्रतिक्रिया सबमिट करें और देखें