IBM® Informix® JDBC Driver, Version 4.10

La variable DBDATE

El soporte de la variable de entorno DBDATE ofrece compatibilidad con versiones anteriores para aplicaciones cliente basadas en versiones del servidor de bases de datos IBM® Informix anteriores a 7.2x, 8.x o 9.x. Utilice la variable de entorno GL_DATE para las aplicaciones nuevas.

La variable de entorno DBDATE especifica los formatos de usuario final de los valores de las columnas DATE. Los formatos de usuario final se utilizan de las siguientes formas:
  • Cuando entra valores DATE, los productos IBM Informix utilizan la variable de entorno DBDATE para interpretar la entrada. Por ejemplo, si especifica un valor de DATE literal en una sentencia INSERT, los servidores de bases de datos Informix necesitan que este valor literal sea compatible con el formato especificado por la variable DBDATE.
  • Cuando muestra valores DATE, los productos IBM Informix utilizan la variable de entorno DBDATE para formatear la salida.
Con formatos estándar, puede especificar los siguientes atributos:
  • El orden del mes, día y año en una fecha
  • Si el año se muestra con dos dígitos (Y2) o con cuatro (Y4)
  • El separador entre mes, día y año
La serie del formato puede incluir los siguientes caracteres:
  • Guión ( - ), punto ( . )y barra inclinada ( / ) son caracteres separadores en un formato de fecha. Aparece un separador al final de una serie de formato (por ejemplo Y4MD-).
  • Un 0 indica que no se muestra ningún separador.
  • D y M son caracteres que representan el día y el mes.
  • Y2 y Y4 son caracteres que representan el año y el número de dígitos del año.
Las siguientes series de formato son formatos de DBDATE estándar válidos:
  • DMY2
  • DMY4
  • MDY4
  • MDY2
  • Y4MD
  • Y4DM
  • Y2MD
  • Y2DM

El separador siempre va al final de la serie de formato (por ejemplo, DMY2/). Si no se especifica ningún separador, o si se especifica un carácter no válido, se utiliza por omisión el carácter de barra inclinada ( / ).

Para la configuración local de inglés ASCII de EE.UU., el valor por omisión para DBDATE es Y4MD-, donde Y4 representa un año de cuatro dígitos, M representa el mes, D representa el día y el guión ( - ) es el separador (por ejemplo, 1998-10-08).

Para insertar un valor de fecha en una tabla de base de datos con una columna de fecha, puede realizar los siguientes tipos de inserciones:
  • SQL no nativo. Las sentencias SQL se envían al servidor de bases de datos sin modificar. Entre el valor de fecha exactamente tal como lo espera el valor DBDATE.
  • SQL nativo. La sintaxis de escape se convierte a un formato que es específico de Informix. Entre el valor de fecha en el formato de escape de JDBC aaaa-mm-dd; el valor se convierte automáticamente al formato DBDATE.
El siguiente ejemplo muestra ambos tipos de inserciones (el valor de DBDATE es 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]);
    } 

Para recuperar el valor de DATE DBDATE formateado de la base de datos, llame al método getString de la clase ResultSet.

Para entrar series que representan fechas en columnas de la tabla de base de datos de tipo char, varchar, o lvarchar, puede crear objetos date que representen el valor de la serie de la fecha. El valor de la serie de la fecha debe estar en formato DBDATE.

El siguiente ejemplo muestra ambas formas de seleccionar valores DATE:
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();


Enviar comentarios | Intercambio de ejemplos | Resolución de problemas

Para buscar el PDF, consulte Publications for the IBM Informix 12.10 family of products.
Para ver las notas de release, notas de documentación y/o notas de máquina, consulte la página Release Notes.
indicación de fecha y hora Fecha de publicación: Marzo 2013