The dtcvasc() function

The dtcvasc() function converts a string that conforms to ANSI SQL standard for a DATETIME value to a datetime value.

Syntax

mint dtcvasc(inbuf, dtvalue)
   char *inbuf;
   dtime_t *dtvalue;
inbuf
A pointer to a buffer to contain an ANSI-standard DATETIME string.
dtvalue
A pointer to an initialized datetime variable.

Usage

You must initialize the datetime variable in dtvalue with the qualifier that you want this variable to have.

The character string in inbuf must have values that conform to the year to second qualifier in the ANSI SQL format. The inbuf string can have leading and trailing spaces. However, from the first significant digit to the last, inbuf can only contain characters that are digits and delimiters that conform to the ANSI SQL standard for DATETIME values.

If you specify a year value as one or two digits, the dtcvasc() function assumes that the year is in the present century. You can set the DBCENTURY environment variable to determine which century dtcvasc() uses when you omit a century from the date.

If the character string is an empty string, the dtcvasc() function sets to null the value to which dtvalue points. If the character string is acceptable, the function sets the value in the datetime variable and returns zero. Otherwise, the function leaves the variable unchanged and returns a negative error code.

Return values

0
Conversion was successful.
-1260
It is not possible to convert between the specified types.
-1261
Too many digits in the first field of datetime or interval.
-1262
Non-numeric character in datetime or interval.
-1263
A field in a datetime or interval value is out of range or incorrect.
-1264
Extra characters exist at the end of a datetime or interval.
-1265
Overflow occurred on a datetime or interval operation.
-1266
A datetime or interval value is incompatible with the operation.
-1267
The result of a datetime computation is out of range.
-1268
A parameter contains an invalid datetime qualifier.