Sentencia SQL

Las zonas del explorador de datos se utilizan para seleccionar datos que se desean desplegar usando una o más sentencias SQL. Los parámetros SQL se aplican a los siguientes tipos de zonas.

  • Explorador de Datos de Información: SQL Único (F1–DE-SINGLE). El parámetro tiene la descripción Sentencia SQL.

  • Explorador de Datos de Información: Múltiples SQLs (F1–DE). Los parámetros siguen el patrón de descripción de Sentencia SQL.

  • Explorador de Datos de Información: Múltiples SQLs (F1–DE-QUERY). Los parámetros siguen el patrón de descripción de Sentencia SQL.

Nota: Si la implementación está configurada para restringir las funciones que se pueden usar al definir un SQL, se produce un error en el tiempo de ejecución si se detectan funciones que no están en la lista de permitidos. La lista de permitidos se puede visualizar a través del enlace Visualizar lista de permitidos de funciones SQL en la zona Consejos de la página de mantenimiento de la zona.
Nota: El SQL de zona no debe utilizar las siguientes palabras clave reservadas para el alias de la tabla. (Por ejemplo, el alias de la tabla en este SQL es 'XX': SELECT 'X' FROM W1_​ACTIVITY_​TYPE XX).
Palabra Clave
AT

La siguiente tabla proporciona una lista de palabras clave de sustitución SQL que se pueden usar en los parámetros de Sentencia SQL en zonas del explorador. En el momento de la ejecución, el sistema determina la base de datos y sustituye la palabra clave con la sintaxis específica de la base de datos:

Palabra Clave

Descripción

Ejemplos

@toCharacter()

Convierte la entrada al tipo de datos Carácter.

select @toCharacter(batch_​cd) as batchCode from ci_​batch_​ctrl

@toDate()

Convierte la entrada al tipo de datos Fecha.

select @toDate(last_​update_​dttm) as lastUpdateDate from ci_​batch_​ctrl

@toNumber()

Convierte la entrada al tipo de datos Número.

select @toNumber(next_​batch_​nbr) from ci_​batch_​ctrl

@currentDate

Busca la fecha actual.

PRECAUCIÓN: Las funciones SYSDATE y CURRENT_​DATE de Oracle no deben utilizarse porque no permiten ajustar adecuadamente las fechas de la zona horaria de la base de datos a la zona horaria de instalación, en caso de ser necesario.

select batch_​cd, @currentDate as today from ci_​batch_​ctrl

@currentTimestamp

Busca la fecha/hora actual.

PRECAUCIÓN: Las funciones SYSTIMESTAMP y CURRENT_​TIMESTAMP de Oracle no deben utilizarse porque no permiten ajustar adecuadamente la fecha/hora de la zona horaria de la base de datos a la zona horaria de instalación, en caso de ser necesario.

select batch_​cd from ci_​batch_​ctrl where last_​update_​dttm > @currentTimestamp

@concat

Combina la lista de resultados de dos o más columnas.

select batch_​cd @concat next_​batch_​nbr concatNbr from ci_​batch_​ctrl

@substr(string, start)

String es la Cadena de entrada para la cual está intentando obtener una subcadena.

Start es la posición del carácter para los resultados de salida.

select batch_​cd batchCode from ci_​batch_​ctrl

Resultado: TESTCD

select @substr(batch_​cd,3) batchCode from ci_​batch_​ctrl

Resultado: STCD

@substr(string, start, end)

String es la Cadena de entrada para la cual está intentando obtener una subcadena.

Start es la posición del carácter para los resultados de salida.

End es el número de caracteres requerido en la salida desde la posición inicial.

select batch_​cd batchCode from ci_​batch_​ctrl

Resultado: TESTCD

select @substr(batch_​cd,3,2) batchCode from ci_​batch_​ctrl

Resultado: ST

@trim

Recorta los espacios en blanco de la salida en ambos lados.

select @trim(batch_​cd) as batchCode from ci_​batch_​ctrl

La siguiente sintaxis está relacionada con la búsqueda aproximada. Solo se aplica si el texto de base de datos de Oracle está activado y si se creó un índice de texto contextual. Consulte Opciones de Búsqueda Avanzada para obtener más información.

@fuzzy(string, score, numresult, ‘weight’)

String es el valor de entrada para la búsqueda.

Score es el grado de aproximación. Los valores válidos están entre 1 y 80. Cuanto más alto es el número, más precisa es la búsqueda. El valor por defecto es 60.

Numresults es el número de variaciones que se debe considerar para la cadena. Los valores válidos están entre 1 y 5000. El valor por defecto es 100.

Indique ‘weight’ para señalar que los resultados se devuelven en orden de ponderación. Deje esta configuración desactivada para indicar que los resultados se devuelven en orden de puntuación.

Defina la puntuación en 70, el número de resultados en 6 y especifique el peso.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6, 'weight')) > 0

@fuzzy(string)

Esto devuelve un resultado de cadena de la operación de expansión aproximada donde se supone el valor por defecto de 60 para score y el valor por defecto de 100 para numresult.

Para usar valores por defecto:

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1))> 0

@fuzzy(string, score)

Esto devuelve un resultado de cadena de la operación de expansión aproximada con score especificado y el valor por defecto de 100 para numresult.

Defina la puntuación en 70.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70)) > 0

@fuzzy(string, score, numresult)

Esto devuelve un resultado de cadena de la operación de expansión aproximada con la puntuación de similaridad y numresults especificado.

Defina la puntuación en 70 y el número de resultados en 6.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6)) > 0