The dttoasc() function
The dttoasc() function converts the field values of a datetime variable to an ASCII string that conforms to ANSI SQL standards.
For information about the ANSI SQL DATETIME standard, see ANSI SQL standards for DATETIME and INTERVAL values.
Syntax
mint dttoasc(dtvalue, outbuf)
dtime_t *dtvalue;
char *outbuf;
- dtvalue
- A pointer to the initialized datetime variable to convert.
- outbuf
- A pointer to the buffer that receives the ANSI-standard DATETIME string for the value in dtvalue.
Usage
The dttoasc() function converts the digits of the fields in the datetime variable to their character equivalents and copies them to the outbuf character string with delimiters (hyphen, space, colon, or period) between them. You must initialize the datetime variable in dtvalue with the qualifier that you want the character string to have.
- Field
- Field size
- Year
- Four digits
- Fraction of DATETIME
- As specified by precision
- All other fields
- Two digits
YYYY-MM-DD HH:MM:SS.FFFFF
If you do not initialize the qualifier of the datetime variable, the dttoasc() function returns an unpredictable value, but this value does not exceed 26 bytes.
Return codes
- 0
- The conversion was successful.
- <0
- The conversion failed.
Example
/*
* dttoasc.ec *
The following program illustrates the conversion of a datetime value
into an ASCII string in ANSI SQL format
*/
#include <stdio.h>
EXEC SQL include datetime;
main()
{
char out_str[16];
EXEC SQL BEGIN DECLARE SECTION;
datetime year to hour dt1;
EXEC SQL END DECLARE SECTION;
printf("DTTOASC Sample ESQL Program running.\n\n");
/* Initialize dt1 */
dtcurrent(&dt1);
/* Convert the internal format to ascii for displaying */
dttoasc(&dt1, out_str);
/* Print it out*/
printf("\tToday's datetime (year to hour)value is %s\n", out_str);
printf("\nDTTOASC Sample Program over.\n\n");
}
Output
DTTOASC Sample ESQL Program running.
Today's datetime (year to hour) value is 2007-09-19 08
DTTOASC Sample Program over.