Para elaborar este concepto completamente, abra el shell de línea de comandos instalado de PostgreSQL en su sistema. Proporcione el nombre del servidor, el nombre de la base de datos, el número de puerto, el nombre de usuario y la contraseña para el usuario en particular si no desea comenzar a trabajar con las opciones predeterminadas. Si desea trabajar con los parámetros predeterminados, deje cada opción vacía y presione Entrar cada opción. Ahora su shell de línea de comandos está preparado para trabajar.
Ejemplo 01: Definir datos de tipo de matriz
Es una buena idea estudiar los fundamentos antes de pasar a modificar los valores de la matriz en la base de datos. Aquí está la forma de especificar una lista de tipos de texto. Puede ver que la salida ha mostrado la lista de tipos de texto utilizando la cláusula de selección.
>> seleccione 'Aqsa, Raza, Saeed' :: Text [];El tipo de datos debe definirse al escribir una consulta. PostgreSQL no reconocerá el tipo de datos si parece ser una cadena. Alternativamente, podríamos usar el formato de matriz [] para especificarlo como tipo de cadena, como se muestra a continuación en la consulta. Desde la salida citada a continuación, puede ver que los datos se han obtenido como tipo de matriz utilizando la consulta SELECT.
>> seleccionar matriz ['aqsa', 'raza', 'saeed'];
Cuando selecciona los mismos datos de matriz con la consulta de selección mientras se usa desde la cláusula, no funciona como debería. Por ejemplo, pruebe la siguiente consulta de desde la cláusula en el shell. Verificará que se le ocurra un error. Esto se debe a que la cláusula seleccionar de la cláusula supone que los datos que está obteniendo es probablemente un grupo de filas o algunos puntos de una tabla.
>> seleccionar * de la matriz ['aqsa', 'raza', 'saeed'];
Ejemplo 02: convertir la matriz en filas
Array [] es una función que devuelve un valor atómico. Como resultado, se ajusta solo con selección y no con la cláusula de desde. Por eso recibimos un error en el ejemplo anterior. Aquí es cómo usar la función inneces. Para convertir las matrices en filas mientras su consulta no funciona con la cláusula.
>> seleccione Unnest (Array ['Aqsa', 'Raza', 'Saeed']);
Ejemplo 03: convertir filas en matriz
Para convertir las filas en una matriz nuevamente, tenemos que definir esa consulta particular dentro de una consulta para hacerlo. Tienes que usar las dos consultas selectas aquí. Una consulta de selección interna es convertir una matriz a filas utilizando la función inneces. Mientras que la consulta selecta externa vuelve a convertir todas esas filas en una sola matriz, como se muestra en la imagen citada a continuación. Cuidado; Tienes que usar ortografía más pequeña de 'matriz' en la consulta de selección externa.
>> seleccione Array (seleccione Unnest (Array ['AQSA', 'Raza', 'Saeed']));
Ejemplo 04: eliminar duplicados usando una cláusula distinta
Distinto puede ayudarlo a extraer duplicados de cualquier forma de datos. Sin embargo, necesariamente requiere el uso de filas como datos. Esto significa que este método funciona para enteros, texto, flotadores y otros tipos de datos, pero las matrices no están permitidas. Para eliminar los duplicados, primero debe convertir sus datos de tipo de matriz en filas utilizando el método innest. Después de eso, estas filas de datos convertidas se pasarán a la cláusula distinta. Puede echar un vistazo a la salida a continuación, que la matriz se ha convertido en filas, entonces solo los valores distintos de estas filas se han obtenido utilizando la cláusula distinta.
>> seleccione Distints Unnest ('Aqsa, Raza, Saeed, Raza, Uzma, AQSA' :: Text []);
Si necesita una matriz como salida, use la función Array () en la primera consulta de selección y use la cláusula distintiva en la siguiente consulta de selección. Puede ver en la imagen mostrada que la salida se ha mostrado en el formulario de matriz, no en la fila. Mientras que la salida contiene solo valores distintos.
>> seleccione Array (seleccione Distints Unnest ('Aqsa, Raza, Saeed, Raza, Uzma, Aqsa' :: Text []));
Ejemplo 05: elimine los duplicados mientras usa el orden por cláusula
También puede eliminar los valores duplicados de la matriz de tipo flotante, como se muestra a continuación. Junto con la consulta distinta, utilizaremos la cláusula de orden por orden para obtener el resultado en el orden de clasificación de un valor específico. Pruebe la consulta establecida a continuación en el shell de línea de comandos para hacerlo.
>> seleccione Distints Unnest ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []) orden por 1;
Primero, la matriz se ha convertido en filas utilizando la función innéstica; Luego, estas filas se clasificarán en orden ascendente utilizando el orden por cláusula como se muestra a continuación.
Para convertir las filas nuevamente en una matriz, use la misma consulta de selección en el shell mientras lo usa con una pequeña matriz alfabética (). Puede echar un vistazo a la salida a continuación que la matriz se ha convertido primero en filas, luego solo se han elegido los valores distintos. Por fin, las filas se convertirán en una matriz nuevamente.
>> Seleccionar matriz (seleccione Distints Unnest ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []));
Conclusión:
Finalmente, ha implementado con éxito cada ejemplo de esta guía. Esperamos que no tenga ningún problema mientras realiza el método innest (), distinto y array () en los ejemplos.