Karakterlánc-összefűzés a PostgreSQL-ben
A karakterláncokat különböző okokból összefűzheti. Előfordulhat, hogy csak egy karakterlánccal szeretne dolgozni, de két oszlopból szeretné kivonni az értékeket. Bármilyen okból, ha össze akarja kötni a karakterláncokat, két lehetőséget használhat a PostgreSQL-hez. Vizsgáljuk meg mindegyiket részletesen releváns példákkal.
1. Az összefűzési operátor használata (||)
A PostgreSQL-ben a (||) egy összefűzési operátor, amelyet karakterláncokkal lehet összefűzni. Kettőnél több karakterlánc is lehet, és ugyanazt a logikát használhatja az összekapcsoláshoz.
Például, ha két karakterlánca van – „Linux” és „Hint” – amelyet össze szeretne fűzni, futtassa a következő parancsot:
Vegye figyelembe, hogy elválasztóként egy üres karakterláncot adunk hozzá. Ezenkívül a kimenetünket „névnek” nevezzük. Az első (|)| operátor az első karakterlánc után jön. Ezután adjuk hozzá az üres karakterláncot elválasztóként és a másik (||) operátort a két karakterlánc összefűzéséhez. Ha több karakterlánca van, használja ugyanazt a logikát.
2. A CONCAT() használata
Az összefűzés első lehetőségével észreveheti, hogy szóbeliséget hoztunk létre a lekérdezésben. A CONCAT() segítségével azonban tisztességességet adhatunk a lekérdezéshez. Egyszerűséget kínál az összefűzésben, és egyszerűbb a használata.
A szintaxisa a következő:
SELECT CONCAT(karakterlánc1, [elválasztó], karakterlánc2);
Az elválasztó nem kötelező, de javasoljuk, hogy adja hozzá, hogy szép kimenetet kapjon. Minden attól függ, hogy mit akarsz elérni az összefűzéssel.
Ha ugyanazt a példát szeretné újra futtatni, mint korábban, de a CONCAT() használatával, hajtsa végre a következő parancsot:
SELECT CONCAT(’Linux’, ‘’, ‘Tipp’);Ugyanazt a kimenetet kapjuk, de érthetőbb lekérdezéssel.
Ha egyedibb nevet szeretnénk adni a kimenetnek, adjuk hozzá az AS kulcsszót, majd azt az egyéni nevet, amelyet a kimenethez szeretnénk használni.
A következő példa bemutatja, hogyan neveztük el a kimenetünket „teljes névnek”:
Tegyük fel, hogy nem ad hozzá elválasztót. A PostgreSQL egyesíti a két karakterláncot, és a következőhöz hasonló kimenetet kap:
Lehetőség van a karakterláncok összefűzésére, ahol az egyik karakterlánc null érték. Lehet, hogy egy táblázattal dolgozik, és az oszlop elfogadja a nullát. Ilyen esetben a „null” kulcsszavak hozzáadása jól működik, és a rendszer üres karakterláncként kezeli.
Nézze meg a következő példát, és nézze meg, hogyan demonstrálunk egy ilyen esetet:
Tegyük fel, hogy van egy táblázata, és két oszlopot szeretne összefűzni. A folyamat ugyanaz, néhány kiegészítéssel. Legyen szemléltetésül a következő táblázat:
Tegyük fel, hogy minden tanuló teljes nevét ki akarjuk kinyerni. Össze kell kapcsolnunk az „fname”-t az „lname”-vel. Parancsunknak meg kell adnia a céloszlopokat, az elválasztót és a tábla nevét.
Ezért a következőképpen futtatjuk:
A CONCAT_WS() használata
Amikor a CONCAT()-al dolgozunk, azt láttuk, hogy az elválasztó a karakterláncok közé kerül. A PostgreSQL azonban felajánlja a CONCAT_WS()-t, amely az „elválasztóval” rövidítése, hogy a felhasználók egy másik módot kapjanak az elválasztó hozzáadására.
Ezzel az opcióval az elválasztó kerül először, és utána adhatja hozzá a karakterláncokat. A cél a sorrend létrehozása a lekérdezésben. Az előző lekérdezés újrafuttatásához, de a CONCAT_WS() használatával, a következő parancsot kapjuk:
Továbbra is ugyanazt a kimenetet kapjuk, de a parancs formátuma megváltozik. Így kötheti össze a karakterláncokat a PostgreSQL-ben.
Következtetés
A PostgreSQL karakterlánc-összefűzése különféle helyzetekben hasznos. Ez a bejegyzés két módszert ír le a karakterláncok gyors összefűzésére. Próbálja ki őket, és folytassa azzal a módszerrel, amelyik kényelmesebb. Ez ennyire egyszerű!