Συνένωση συμβολοσειρών PostgreSQL

Synenose Symboloseiron Postgresql



Όταν έχετε δύο χορδές, είναι δυνατό να τις συνδέσετε για να έχετε μια τελευταία χορδή. Λαμβάνοντας το παράδειγμα του ονόματος και του επωνύμου ενός χρήστη, μπορείτε να τα συνδέσετε για να λάβετε το πλήρες όνομά τους. Με την PostgreSQL, υπάρχουν δύο επιλογές που μπορείτε να χρησιμοποιήσετε για τη συνένωση συμβολοσειρών. Υπάρχει η παλιά μέθοδος χρήσης του τελεστή (||) και η νέα επιλογή χρήσης της CONCAT(). Και οι δύο τρόποι καλύπτονται σε αυτήν την ανάρτηση για να διασφαλίσετε ότι καταλαβαίνετε πώς να συνδέσετε τις χορδές με ευκολία. Διαβάστε παρακάτω για να δείτε τα διαφορετικά παραδείγματα συνένωσης συμβολοσειρών.

Συνένωση συμβολοσειρών στην PostgreSQL

Μπορείτε να συνδέσετε τις χορδές για διαφορετικούς λόγους. Θα μπορούσε να είναι ότι θέλετε να εργαστείτε μόνο με μία συμβολοσειρά αλλά θέλετε να εξαγάγετε τις τιμές από δύο στήλες. Για οποιονδήποτε λόγο, εάν θέλετε να συνδέσετε τις συμβολοσειρές, υπάρχουν δύο επιλογές που μπορείτε να χρησιμοποιήσετε για την PostgreSQL. Ας συζητήσουμε το καθένα λεπτομερώς με σχετικά παραδείγματα.

1. Χρήση του τελεστή συνδεσμολογίας (||)

Στην PostgreSQL, ο (||) είναι ένας τελεστής συνένωσης που μπορείτε να χρησιμοποιήσετε με συμβολοσειρές για να τις συνδέσετε. Μπορείτε να έχετε περισσότερες από δύο συμβολοσειρές και να χρησιμοποιήσετε την ίδια λογική για να τις ενώσετε.







Για παράδειγμα, εάν έχετε δύο συμβολοσειρές - 'Linux' και 'Hint' που θέλετε να συνδέσετε, εκτελέστε την ακόλουθη εντολή:





Σημειώστε ότι προσθέτουμε μια κενή συμβολοσειρά ως διαχωριστικό. Επιπλέον, ονομάζουμε την έξοδο μας ως 'όνομα'. Το πρώτο (|)| Ο τελεστής έρχεται μετά την πρώτη συμβολοσειρά. Μετά από αυτό, προσθέτουμε την κενή συμβολοσειρά ως διαχωριστικό και τον άλλο τελεστή (||) για να συνδέσουμε τις δύο συμβολοσειρές. Εάν έχετε πολλές συμβολοσειρές, χρησιμοποιήστε την ίδια λογική.





2. Χρήση CONCAT()

Με την πρώτη επιλογή συνένωσης, μπορεί να παρατηρήσετε ότι δημιουργήσαμε λεκτικότητα στο ερώτημά μας. Ωστόσο, μπορούμε να βάλουμε ευπρέπεια στο ερώτημα χρησιμοποιώντας CONCAT(). Προσφέρει απλότητα στη συνένωση και είναι πιο απλό στη χρήση.

Η σύνταξή του είναι η εξής:



SELECT CONCAT(string1, [separator], string2);

Το διαχωριστικό είναι προαιρετικό, αλλά συνιστούμε να το προσθέσετε για να έχετε καθαρή έξοδο. Όλα εξαρτώνται από το τι θέλετε να πετύχετε με τη συνένωση.

Για να εκτελέσετε ξανά το ίδιο παράδειγμα που είχαμε νωρίτερα, αλλά χρησιμοποιώντας CONCAT(), εκτελέστε την ακόλουθη εντολή:

SELECT CONCAT('Linux', ' ', 'Hint');

Λαμβάνουμε το ίδιο αποτέλεσμα, αλλά με ένα πιο κατανοητό ερώτημα.

Εάν θέλουμε να δώσουμε στην έξοδο ένα πιο προσαρμοσμένο όνομα, προσθέστε τη λέξη-κλειδί AS ακολουθούμενη από το προσαρμοσμένο όνομα που θέλουμε να χρησιμοποιήσουμε για την έξοδο.

Το ακόλουθο παράδειγμα δείχνει πώς ονομάσαμε την έξοδο μας ως 'πλήρες όνομα':

Ας υποθέσουμε ότι δεν προσθέτετε διαχωριστικό. Η PostgreSQL συγχωνεύει τις δύο συμβολοσειρές και θα λάβετε μια έξοδο όπως αυτή που ακολουθεί:

Είναι δυνατή η σύνδεση των συμβολοσειρών όπου μία από τις συμβολοσειρές είναι μηδενική τιμή. Ίσως εργάζεστε με έναν πίνακα και η στήλη δέχεται null. Σε μια τέτοια περίπτωση, η προσθήκη των λέξεων-κλειδιών 'null' λειτουργεί καλά και αντιμετωπίζεται ως κενή συμβολοσειρά.

Ελέγξτε το ακόλουθο παράδειγμα και δείτε πώς αποδεικνύουμε μια τέτοια περίπτωση:

Ας υποθέσουμε ότι έχετε έναν πίνακα και θέλετε να συνδέσετε δύο στήλες. Η διαδικασία είναι η ίδια, με μερικές προσθήκες. Ας έχουμε τον παρακάτω πίνακα για επίδειξη:

Ας υποθέσουμε ότι θέλουμε να εξαγάγουμε το πλήρες όνομα κάθε μαθητή. Πρέπει να συνδέσουμε το 'fname' με το 'lname'. Η εντολή μας πρέπει να καθορίσει τις στήλες προορισμού, το διαχωριστικό και το όνομα του πίνακα.

Επομένως, το τρέχουμε ως εξής:

Εργασία με CONCAT_WS()

Όταν εργαζόμαστε με το CONCAT(), έχουμε δει ότι το διαχωριστικό προστίθεται μεταξύ των συμβολοσειρών. Ωστόσο, η PostgreSQL προσφέρει το CONCAT_WS() που σημαίνει 'με διαχωριστικό' για να επιτρέψει στους χρήστες να βρουν έναν άλλο τρόπο για να προσθέσουν το διαχωριστικό.

Με αυτήν την επιλογή, το διαχωριστικό έρχεται πρώτο και μπορείτε να προσθέσετε τις συμβολοσειρές σας μετά. Ο στόχος είναι να δημιουργήσετε την παραγγελία στο ερώτημά σας. Για να εκτελέσουμε ξανά το προηγούμενο ερώτημα αλλά χρησιμοποιώντας CONCAT_WS(), έχουμε την εντολή μας ως εξής:

Εξακολουθούμε να παίρνουμε την ίδια έξοδο, αλλά η μορφή για την εντολή αλλάζει. Αυτός είναι ο τρόπος σύνδεσης των συμβολοσειρών στο PostgreSQL.

συμπέρασμα

Η συνένωση συμβολοσειρών PostgreSQL είναι χρήσιμη σε διαφορετικές καταστάσεις. Αυτή η ανάρτηση περιέγραψε δύο μεθόδους για να συνδέσετε γρήγορα τις χορδές σας. Δοκιμάστε τα και συνεχίστε να εξασκείτε με τη μέθοδο που αισθάνεστε πιο άνετα. Είναι τόσο απλό!