Representación de coma decimal

Las comas decimales en las sentencias de SQL se representan mediante puntos o comas.

Dos valores controlan la representación:

  • El valor del campo DECIMAL POINT IS en el panel de instalación DSNTIPF, que puede ser una coma (,) o un punto (.)
  • COMA o PUNTO, que son opciones de procesamiento SQL mutuamente excluyentes para COBOL

Estos valores se aplican a las sentencias SQL de la siguiente manera:

  • Para una operación distribuida, el punto decimal es el primero de los siguientes valores que se aplique:
    • El valor del punto decimal especificado por el solicitante
    • El valor del campo DECIMAL POINT IS en el panel DSNTIPF en el Db2 donde está vinculado el paquete
  • En otro caso:
    • Para instrucciones SQL estáticas:
      • En un programa COBOL, la opción de procesamiento SQL COMMA o PERIOD determina la representación del punto decimal para cada instrucción SQL estática. Si no se especifica ninguna de las dos opciones de procesamiento SQL, el valor de DECIMAL POINT IS en el momento de la precompilación determina la representación.
      • En los programas que no son COBOL, la representación decimal para las sentencias SQL estáticas es siempre el punto.
    • Para instrucciones SQL dinámicas:
      • Si se aplica el comportamiento de ejecución DYNAMICRULES, el punto decimal es el valor del campo DECIMAL POINT IS en el panel de instalación DSNTIPF en el Db2 local cuando se prepara la instrucción.

        Para obtener una lista de los valores de la opción DYNAMICRULES que especifican el comportamiento de ejecutar, vincular, definir o invocar, consulte la Tabla 1.

      • Si se aplica la regla DYNAMICRULES bind, define o invoca behavior, y el valor del campo USE FOR DYNAMICRULES del panel de instalación es YES, el punto decimal es el valor del campo DECIMAL POINT IS.

        Si se aplica el comportamiento de vincular, definir o invocar, y el campo USO PARA REGLAS DINÁMICAS es NO, la opción de procesamiento SQL determina la representación del punto decimal. Para los programas COBOL, que admiten la opción de procesamiento SQL COMMA o PERIOD, la representación del punto decimal se determina como se ha descrito anteriormente para las sentencias SQL estáticas en los programas COBOL. Para los programas escritos en otros lenguajes de programación, se utiliza la opción de procesamiento SQL predeterminada, que solo puede ser PERIOD.

Si la coma es el punto decimal, se aplican estas reglas:

  • En cualquier contexto, una coma que sirva de separador debe ir seguida de un espacio. Tales comas podrían aparecer, por ejemplo, en una cláusula VALUES, un predicado IN o una cláusula ORDER BY en la que se utilizan números para identificar columnas.
  • En cualquier contexto, una coma que se utilice como punto decimal no debe ir seguida de un espacio.
  • Si el campo DECIMAL POINT IS (y no la opción de procesamiento SQL) determina la coma como el punto decimal, Db2 reconocerá una coma o un punto como el punto decimal en los números en SQL dinámico.