Cómo: Referencia: |
El intercalado se define como un conjunto de reglas que se aplican a la ordenación y correspondencia de todos los elementos de idioma que implican la comparación de dos valores. Esta característica afecta a una amplia variedad de elementos. Entre estas características se encuentran la clasificación, la agregación, las condiciones WHERE y las hojas de estilos. Los elementos están clasificados por defecto en base a sus valores binarios. Las propiedades de COLLATION SRV_CI y SRV_CS, intercalado que distingue, o no, las mayúsculas de las minúsculas, implementan un intercalado basado en la propiedad LANGUAGE. El intercalado que no distingue las mayúsculas de las minúsculas indica que todas las cláusulas y clasificaciones WHERE ignoran el uso de mayúsculas y minúsculas en los elementos que se está comparando. COLLATION es una propiedad de nivel de sesión (no admitido en frases ON TABLE; debe establecerse en el perfil de servidor edasprof).
La propiedad de intercalado sólo se aplica a los valores alfanuméricos.
Añada el siguiente comando al perfil de servidor edasprof.prf:
SET COLLATION = {BINARY|SRV_CI|SRV_CS|CODEPAGE}
donde:
Basa la secuencia de intercalado en valores binarios.
Basa la secuencia de intercalado en la propiedad LANGUAGE y no distingue las mayúsculas de las minúsculas.
Basa la secuencia de intercalado en la propiedad LANGUAGE y distingue las mayúsculas de las minúsculas.
Basa la secuencia de intercalado en la página de código que está en vigor y distingue las mayúsculas de las minúsculas. CODEPAGE es el valor predeterminado.
En la mayoría de los casos, CODEPAGE es lo mismo que BINARY. La única diferencia se encuentra en el danés, finlandés, alemán, noruego y sueco, en un entorno EBCDIC.
Reglas de clasificación y agregación
La siguiente solicitud crea un origen de datos FOCUS, llamado COLLATE, que incluye algunos registros con nombres de producto que sólo se diferencian en una letra (mayúscula o minúscula):
CREATE FILE COLLATE -RUN MODIFY FILE COLLATE FIXFORM PROD_NUM/C4 PRODNAME/C30 QTY_IN_STOCK/C7 PRICE/C12 COST/C12 CHECK OFF DATA 10042 Hd VCR LCD Menu 43068 179.00 129.00 10052 HD VCR LCD Menu 43068 179.00 129.00 1006Combo Player - 4 HD VCR + DVD 13527 399.00 289.00 1007Combo Player - 4 Hd VCR + DVD 13527 399.00 289.00 1008DVD Upgrade Unit for Cent. VCR 199 199.00 139.00 1010750SL Digital Camcorder 300 X 10758 999.00 750.00 1012650DL Digital Camcorder 150 X 2972 899.00 710.00 1014340SX Digital Camera 65K P 990 249.00 199.00 1015340SX digital Camera 65K P 990 249.00 199.00 1016330DX Digital Camera 1024K P 12707 279.00 199.00 1018250 8MM Camcorder 40 X 60073 399.00 320.00 1019250 8mm Camcorder 40 X 60073 399.00 320.00 1020150 8MM Camcorder 20 X 5961 319.00 240.00 1022120 VHS-C Camcorder 40 X 2300 399.00 259.00 1024110 VHS-C Camcorder 20 X 4000 349.00 249.00 1026AR2 35mm Camera 8 X 12444 129.00 95.00 1029AR2 35MM Camera 8 X 11499 109.00 79.00 1028AR3 35MM Camera 10 X 11499 109.00 79.00 1030QX Portable CD Player 22000 169.00 99.00 1032R5 Micro Digital Tape Recorder 1990 89.00 69.00 1034ZT Digital PDA - Commercial 21000 499.00 349.00 1036ZC Digital PDA - Standard 33000 299.00 249.00 END
La siguiente solicitud imprime los valores de PRODNAME según el orden en que aparecen en el flujo de entrada:
TABLE FILE COLLATE PRINT PROD_NUM PRODNAME END
En la solicitud, la única diferencia entre las filas con los números de producto 1004 y 1005 es la letra d en HD. El registro con la d minúscula aparece antes que el registro con la letra D mayúscula. Las filas con los números de registro 1006 y 1007 también se diferencian por la presencia de la letra d en HD. En este caso, el registro con la D mayúscula también precede al registro con la d minúscula:
Product Product Number: Name: ------- ------- 1004 2 Hd VCR LCD Menu 1005 2 HD VCR LCD Menu 1006 Combo Player - 4 HD VCR + DVD 1007 Combo Player - 4 Hd VCR + DVD 1008 DVD Upgrade Unit for Cent. VCR 1010 750SL Digital Camcorder 300 X 1012 650DL Digital Camcorder 150 X 1014 340SX Digital Camera 65K P 1015 340SX digital Camera 65K P 1016 330DX Digital Camera 1024K P 1018 250 8MM Camcorder 40 X 1019 250 8mm Camcorder 40 X 1020 150 8MM Camcorder 20 X 1022 120 VHS-C Camcorder 40 X 1024 110 VHS-C Camcorder 20 X 1026 AR2 35mm Camera 8 X 1029 AR2 35MM Camera 8 X 1028 AR3 35MM Camera 10 X 1030 QX Portable CD Player 1032 R5 Micro Digital Tape Recorder 1034 ZT Digital PDA - Commercial 1036 ZC Digital PDA - Standard
La siguiente solicitud clasifica la salida según el orden BINARY. La propiedad COLLATION = BINARY está en vigor:
TABLE FILE COLLATE PRINT PROD_NUM BY PRODNAME END
En un entorno EBCDIC, los registros en minúscula clasifican delante de los registros en mayúscula; la fila con el número de producto 1007 clasifica delante de la fila de número de producto 1006:
Product Product Name: Number: ------- ------- AR2 35mm Camera 8 X 1026 AR2 35MM Camera 8 X 1029 AR3 35MM Camera 10 X 1028 Combo Player - 4 Hd VCR + DVD 1007 Combo Player - 4 HD VCR + DVD 1006 DVD Upgrade Unit for Cent. VCR 1008 QX Portable CD Player 1030 R5 Micro Digital Tape Recorder 1032 ZC Digital PDA - Standard 1036 ZT Digital PDA - Commercial 1034 110 VHS-C Camcorder 20 X 1024 120 VHS-C Camcorder 40 X 1022 150 8MM Camcorder 20 X 1020 2 Hd VCR LCD Menu 1004 2 HD VCR LCD Menu 1005 250 8mm Camcorder 40 X 1019 250 8MM Camcorder 40 X 1018 330DX Digital Camera 1024K P 1016 340SX digital Camera 65K P 1015 340SX Digital Camera 65K P 1014 650DL Digital Camcorder 150 X 1012 750SL Digital Camcorder 300 X 1010
En un entorno ASCII, los registros en mayúscula clasifican delante de los registros en minúscula; la fila con el número de producto 1005 clasifica delante de la fila de número de producto 1004:
Product Product Name: Number: ------- ------- 110 VHS-C Camcorder 20 X 1024 120 VHS-C Camcorder 40 X 1022 150 8MM Camcorder 20 X 1020 2 HD VCR LCD Menu 1005 2 Hd VCR LCD Menu 1004 250 8MM Camcorder 40 X 1018 250 8mm Camcorder 40 X 1019 330DX Digital Camera 1024K P 1016 340SX Digital Camera 65K P 1014 340SX digital Camera 65K P 1015 650DL Digital Camcorder 150 X 1012 750SL Digital Camcorder 300 X 1010 AR2 35MM Camera 8 X 1029 AR2 35mm Camera 8 X 1026 AR3 35MM Camera 10 X 1028 Combo Player - 4 HD VCR + DVD 1006 Combo Player - 4 Hd VCR + DVD 1007 DVD Upgrade Unit for Cent. VCR 1008 QX Portable CD Player 1030 R5 Micro Digital Tape Recorder 1032 ZC Digital PDA - Standard 1036 ZT Digital PDA - Commercial 1034
Cuando COLLATION se ha establecido en SRV_CI y hay una clasificación en el campo PRODNAME, las mayúsculas y minúsculas tienen el mismo valor; las filas solo aparecen una vez para varios números de registros. Por ejemplo, las filas con los números de producto 1004 y 1005 aparecen con el mismo valor de PRODNAME, mientras que el valor de campo de clasificación de la visualización es el primero de la secuencia de entrada.
Salida en un entorno EBCDIC:
Product Product Name: Number: ------- ------- AR2 35mm Camera 8 X 1026 1029 AR3 35MM Camera 10 X 1028 Combo Player - 4 HD VCR + DVD 1006 1007 DVD Upgrade Unit for Cent. VCR 1008 QX Portable CD Player 1030 R5 Micro Digital Tape Recorder 1032 ZC Digital PDA - Standard 1036 ZT Digital PDA - Commercial 1034 110 VHS-C Camcorder 20 X 1024 120 VHS-C Camcorder 40 X 1022 150 8MM Camcorder 20 X 1020 2 Hd VCR LCD Menu 1004 1005 250 8MM Camcorder 40 X 1018 250 8MM Camcorder 40 X 1019 330DX Digital Camera 1024K P 1016 340SX Digital Camera 65K P 1014 1015 650DL Digital Camcorder 150 X 1012 750SL Digital Camcorder 300 X 1010
Salida en un entorno ASCII:
Product Product Name: Number: ------- ------- 110 VHS-C Camcorder 20 X 1024 120 VHS-C Camcorder 40 X 1022 150 8MM Camcorder 20 X 1020 2 Hd VCR LCD Menu 1004 1005 250 8MM Camcorder 40 X 1018 1019 330DX Digital Camera 1024K P 1016 340SX Digital Camera 65K P 1014 1015 650DL Digital Camcorder 150 X 1012 750SL Digital Camcorder 300 X 1010 AR2 35mm Camera 8 X 1026 1029 AR3 35MM Camera 10 X 1028 Combo Player - 4 HD VCR + DVD 1006 1007 DVD Upgrade Unit for Cent. VCR 1008 QX Portable CD Player 1030 R5 Micro Digital Tape Recorder 1032 ZC Digital PDA - Standard 1036 ZT Digital PDA - Commercial 1034
La siguiente solicitud, basada en el origen de datos COLLATE, selecciona registros en los que PRODNAME contiene los caracteres 'HD':
TABLE FILE COLLATE PRINT PROD_NUM PRODNAME WHERE PRODNAME CONTAINS 'HD' END
Cuando COLLATION se ha establecido en BINARY, sólo se seleccionan los registros que coincidan exactamente en el uso de las mayúsculas y minúsculas (en este caso, HD en mayúscula). La salida es:
Product Product Number: Name: ------- ------- 1005 2 HD VCR LCD Menu 1006 Combo Player - 4 HD VCR + DVD
Si ejecuta la misma solicitud pero cambiando el parámetro COLLATION a SRV_CI, se seleccionan todos los registros con cualquier combinación de valores en mayúscula y minúscula para H y D. Las filas aparecen según el orden en que aparecían en el origen de datos:
Product Product Number: Name: ------- ------- 1004 2 Hd VCR LCD Menu 1005 2 HD VCR LCD Menu 1006 Combo Player - 4 HD VCR + DVD 1007 Combo Player - 4 Hd VCR + DVD
WebFOCUS |