The DBDATE variable (deprecated)
Support for the DBDATE environment variable provides compatibility with earlier versions for client applications that are based on HCL Informix® database server versions before 7.2x, 8.x, or 9.x. Use the GL_DATE environment variable for new applications.
- When you input DATE values, Informix® products use the DBDATE environment variable to interpret the input. For example, if you specify a literal DATE value in an INSERT statement, Informix® database servers require this literal value to be compatible with the format specified by the DBDATE variable.
- When you display DATE values, Informix® products use the DBDATE environment variable to format the output.
- The order of the month, day, and year in a date
- Whether the year is printed with two digits (Y2) or four digits (Y4)
- The separator between the month, day, and year
- Hyphen ( - ), dot ( . ), and slash ( / ) are separator characters
in a date format. A separator appears at the end of a format string
(for example
Y4MD-
). - A 0 indicates that no separator is displayed.
- D and M are characters that represent the day and the month.
- Y2 and Y4 are characters that represent the year and the number of digits in the year.
- DMY2
- DMY4
- MDY4
- MDY2
- Y4MD
- Y4DM
- Y2MD
- Y2DM
The separator always goes at the end of the format string
(for example, DMY2/
). If no separator or an invalid
character is specified, the slash ( / ) character is the default.
For
the U.S. ASCII English locale, the default setting for DBDATE is Y4MD-
,
where Y4 represents a four-digit year, M represents the month, D represents
the day, and hyphen ( - ) is the separator (for example, 1998-10-08).
- Nonnative SQL. SQL statements are sent to the database server unchanged. Enter the date value exactly as expected by the DBDATE setting.
- Native SQL. Escape syntax is converted to a format that
is specific to Informix®. Enter
the date value in the JDBC escape format
yyyy-mm-dd
; the value is converted to the DBDATE format automatically.
MDY2-
): stmt = conn.createStatement();
cmd = "create table tablename (col1 date, col2 varchar(20));";
rc = stmt.executeUpdate(cmd);..
.String[] dateVals = {"'08-10-98'", "{d '1998-08-11'}" };
String[] charVals = {"'08-10-98'", "'08-11-98'" };
int numRows = dateVals.length;
for (int i = 0; i < numRows; i++)
{
cmd = "insert into tablename values(" + dateVals[i] + ", " +
charVals[i] + ")";
rc = stmt.executeUpdate(cmd);
System.out.println("Insert: column col1 (date) = " + dateVals[i]);
System.out.println("Insert: column col2 (varchar) = " + charVals[i]);
}
To retrieve the formatted DBDATE DATE value from the database, call the getString method of the ResultSet class.
To enter strings that represent dates into database table columns of char, varchar, or lvarchar type, you can build date objects that represent the date string value. The date string value needs to be in DBDATE format.
PreparedStatement pstmt = conn.prepareStatement("Select * from tablename "
+ "where col1 = ?;");
GregorianCalendar gc = new GregorianCalendar(1998, 7, 10);
java.sql.Date dateObj = new java.sql.Date(gc.getTime().getTime());
pstmt.setDate(1, dateObj);
ResultSet r = pstmt.executeQuery();
while(r.next())
{
String s = r.getString(1);
java.sql.Date d = r.getDate(2);
System.out.println("Select: column col1 (DBDATE format) = <"
+ s + ">");
System.out.println("Select: column col2 (JDBC Escape format) = <"
+ d + ">");
}
r.close();
pstmt.close();