funcion - DB2 SQL Query Trim dentro de recorte
trim as400 (2)
Tu código hace lo siguiente.
Línea 1: si el prefijo está entre ''00''
y ''99''
Line2: Luego recorte los espacios del prefijo y luego agregue -
Line3: A continuación, agregue CLNUMBER
eliminando primero el 0
CLNUMBER
de CLNUMBER
Puede buscar la sintaxis de la función TRIM
aquí
Estoy transfiriendo algunas consultas SQL al código C #, ahora estoy teniendo problemas para entender la siguiente consulta. Hasta ahora, mi comprensión de la siguiente consulta es: Si PREFIX
está entre 0
y 99
, entonces recorte PREFIX
, pero ¿qué hace? || ''-'' ||
significa aquí? Mi comprensión para la línea 3 es después de terminar la función de recorte en la línea 2, hacer otro ajuste, pero tampoco reconozco la sintaxis en la línea 3. Esto es DB2.
RETURN CASE WHEN PREFIX BETWEEN ''00'' AND ''99'' //line 1
THEN TRIM(PREFIX) || ''-'' || //line 2
TRIM(TRIM(L ''0'' FROM DIGITS(CLNUMBER))) //line 3
-
DIGITS(CLNUMBER)
devuelve el número almacenado en CLNUMBER como una cadena con ceros a la izquierda. -
TRIM(L ''0'' FROM something)
elimina los ceros a la izquierda de algo. -
TRIM(something)
elimina los espacios en blanco y de entrenamiento de algo. - || concatena cadenas.
PREFIX es una cadena. En caso de que contenga un número de dos dígitos, se realiza algún procesamiento:
- Primero obtienes ese número recortado, pero debido a la condición no puede haber ningún espacio en blanco, por lo que obtienes la cadena numérica original, por ejemplo, ''12''. (La condición funcionaría en ''01'' pero ignorar ''1'' o ''1'').
- Luego ''-'' se agrega, entonces tienes ''12 - ''.
- Luego obtienes CLNUMBER como una cadena con ceros a la izquierda y eliminando los espacios iniciales y de entrenamiento. Digamos que CLNUMBER contiene ''0345'', luego obtendrías ''345''.
- Entonces esto también se concatenará y finalmente obtendrás ''12 -345 ''.