Iklan

Bahasa Query Terstruktur (SQL) adalah alat yang sangat kuat, dan penuh dengan fitur. Setelah Anda menguasai sebagian besar perintah SQL penting 13 Perintah SQL Paling Penting Yang Harus Diketahui Setiap ProgrammerSetiap situs web besar atau dinamis menggunakan database dalam beberapa cara, dan ketika dikombinasikan dengan Structured Query Language (SQL), kemungkinan untuk memanipulasi data benar-benar tidak terbatas. Baca lebih banyak , Anda bisa mulai sedikit lebih kreatif dengan SQL Anda. Hari ini saya akan menunjukkan kepada Anda semua yang perlu Anda ketahui tentang string concatenation SQL.

Ada banyak dialek SQL yang berbeda. Untuk semua contoh ini, saya menggunakan PostgreSQL varian.

Apa itu Rangkaian?

Penggabungan berarti menggabungkan dua hal bersama. Anda mungkin menggunakannya dalam bahasa pemrograman untuk menggabungkan dua string. Mungkin Anda memiliki variabel nama depan dan nama keluarga yang Anda gabungkan sebagai variabel nama lengkap.

Penggabungan adalah cara yang sangat berguna untuk menggabungkan dua string menjadi satu.

instagram viewer
PHP menggunakan pemberhentian penuh untuk menggabungkan string bersama, sedangkan JavaScript dan jQuery Panduan Dasar untuk JQuery untuk Programmer JavascriptJika Anda seorang programmer Javascript, panduan untuk JQuery ini akan membantu Anda memulai pengkodean seperti seorang ninja. Baca lebih banyak gunakan tanda tambah.

Penggabungan dalam SQL bekerja persis sama. Anda menggunakan operator khusus untuk menggabungkan dua hal menjadi satu. Inilah contoh di Kodesemu:

first_name = Joe. last_name = Coburn. whole_name = first_name + last_name

Dalam bahasa pemrograman, gabungan membuat kode lebih mudah dibaca. Jika kode Anda selalu perlu mengakses dua string, menggabungkannya menjadi satu membuatnya lebih mudah diingat, dan mengurangi panjang kode.

Sementara variabel dalam SQL kurang umum (tetapi masih digunakan), gabungan masih diperlukan untuk mengembalikan hasil gabungan, atau untuk memanipulasi data.

Bagaimana cara Concatenate

Rangkaian adalah sangat mudah dalam SQL. Sementara SQL adalah bahasa yang umum, mesin basis data individual mengimplementasikan fitur dengan cara yang berbeda. Sementara semua contoh ini ada dalam dialek PostgreSQL, mudah untuk menerjemahkan ke varian lain dengan hanya mencari di web untuk “Concatenate . " Mesin yang berbeda mungkin memiliki sintaks yang berbeda untuk penggabungan, tetapi prinsipnya tetap sama.

Kembali ke contoh nama kami, inilah dasar Pilih pertanyaan:

SELECT first_name, last_name, email FROM users_table
sql pilih

Tidak ada yang rumit di sini, jadi mari kita tambahkan di gabungan:

SELECT first_name || last_name AS full_name, email FROM users_table
sql gabungan dasar

Seperti yang Anda lihat, rangkaian ini telah bekerja dengan sempurna, tetapi ada satu masalah kecil. Nama lengkap yang dihasilkan telah dijahit bersama persis sebagai produk dari kedua kolom - harus ada ruang di antara nama-nama!

Untungnya, mudah untuk memperbaikinya: cukup buat ruang di antara keduanya:

SELECT first_name || '' || last_name AS full_name, email FROM users_table
sql ruang gabungan

Ini adalah contoh dasar, tetapi Anda harus melihat cara kerja rangkaian - sangat mudah! Operator pipa (|) digunakan dua kali antara klausa. Mesin SQL Anda tahu bahwa setiap bagian sebelum dan sesudah simbol ini harus disatukan dan diperlakukan sebagai satu. Namun berhati-hatilah, jika Anda menggunakan operator concat tetapi tidak menggabungkan apa pun, Anda akan mendapatkan kesalahan.

sql error

Seperti disebutkan di atas, contoh-contoh ini menggunakan varian SQL PostgreSQL. Varian lain dapat menggunakan operator yang berbeda, atau bahkan fungsi khusus yang harus Anda panggil. Itu tidak masalah bagaimana Anda menggabungkan string, asalkan Anda melakukannya dengan cara yang diharapkan oleh mesin basis data Anda.

Lebih dalam

Sekarang setelah Anda mengetahui dasar-dasarnya, mari kita lihat beberapa contoh mendalam, bersama dengan beberapa perangkap umum.

Sebagian besar mesin basis data akan berhasil menggabungkan campuran string dan integer, bahkan mungkin tanggal juga. Anda biasanya akan mengalami masalah ketika mencoba menyatukan tipe kompleks seperti array:

SELECT first_name || '' || last_name || ARRAY [123, 456] SEBAGAI nama lengkap, email FROM users_table

Kode ini tidak akan berfungsi. Tidak mungkin menggabungkan string dengan objek kompleks seperti array. Jika Anda memikirkan apa yang perlu Anda lakukan, Anda sering dapat menulis kode sederhana yang berfungsi, bukan kode rumit dan gila yang gagal dijalankan.

Jika Anda telah memikirkan dengan seksama tentang apa yang perlu Anda lakukan, dan masih tidak bisa membuat SQL berfungsi, apakah Anda sudah mempertimbangkan menggunakan bahasa pemrograman? Sebagai pengembang perangkat lunak yang bekerja pada kode lama, saya tahu kesulitan mencoba men-debug SQL yang seseorang telah menjejalkan begitu banyak logika ke dalamnya keajaiban berjalan sama sekali - jika Anda mencoba untuk menulis logika dalam SQL, kemudian beralih ke bahasa pemrograman (ada banyak dari bahasa yang mudah dipelajari 6 Bahasa Pemrograman yang Paling Mudah Dipelajari untuk PemulaMempelajari program adalah tentang menemukan bahasa yang tepat, sama halnya dengan proses edifikasi. Berikut adalah enam bahasa pemrograman termudah untuk pemula. Baca lebih banyak ).

Rangkaian bekerja dengan sangat baik untuk dimana pernyataan juga:

SELECT first_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' | '' MONTH '||' / '||' YEAR '):: date

Ada beberapa hal yang terjadi di sini. Dalam contoh ini, HARI, BULAN, dan TAHUN adalah parameter yang telah diteruskan dari skrip. Mungkin ini dihasilkan oleh kode, atau dimasukkan oleh pengguna. Ini digabungkan bersama-sama, dan kemudian dilemparkan ke tipe tanggal (menggunakan cast PostgreSQL to date syntax ::tanggal).

Menggunakan penggabungan cara ini memungkinkan Anda untuk menyatukan bagian-bagian individu dari tanggal, yang kemudian dapat diproses sebagai tanggal "nyata", sebagai lawan dari string. Jangan lupa bahwa contoh dasar ini tidak melindungi Injeksi SQL Apa itu Injeksi SQL? [MakeUseOf Menjelaskan]Dunia keamanan Internet terkendala dengan port terbuka, pintu belakang, lubang keamanan, Trojan, worm, kerentanan firewall, dan sejumlah masalah lain yang membuat kita semua tetap waspada setiap hari. Untuk pengguna pribadi, ... Baca lebih banyak , jadi jangan menggunakannya dalam kode produksi apa pun tanpa memodifikasi.

Perangkap lain yang harus diperhatikan adalah batal nilai (string nol adalah string kosong atau tidak ada). Dengan kueri ini:

SELECT first_name || '' || NULL AS full_name, email FROM users_table
sql null concatenation

Permintaan ini diam-diam gagal. Ini karena cara penyatuan kode secara internal pada mesin database Anda. Anda mungkin tidak selalu menghadapi masalah ini, tetapi ini cukup sering terjadi.

Jika menurut Anda data pengembalian kueri Anda mungkin nol, maka Anda harus menggunakan a bergabung. Coalesce secara kasar dapat dianggap sebagai "jika ini nol, ganti dengan string atau kolom ini":

SELECT first_name || '' || COALESCE (NULL, 'ERROR NULL DATA') SEBAGAI full_name, email FROM users_table
sql penggabungan

Sekarang Anda tahu cara menggunakan concatenation dalam SQL, apa yang akan Anda lakukan dengannya? Maukah kamu membuat situs web Cara Membuat Website: Untuk PemulaHari ini saya akan membimbing Anda melalui proses pembuatan situs web lengkap dari awal. Jangan khawatir jika ini terdengar sulit. Saya akan memandu Anda melalui setiap langkah. Baca lebih banyak dan menghidupkannya dengan SQL? Atau mungkin Anda membutuhkan generator situs statis 7 Alasan untuk Menyingkirkan CMS Anda dan Pertimbangkan Generator Situs StatisSelama bertahun-tahun, menerbitkan situs web sulit bagi banyak pengguna. CMS seperti WordPress mengubah itu, tetapi mereka masih bisa membingungkan. Alternatif lain adalah Generator Situs Statis. Baca lebih banyak untuk pendekatan yang lebih sederhana dalam membangun situs web.

Apa pun yang Anda lakukan, beri tahu kami di komentar di bawah!

Joe adalah lulusan Ilmu Komputer dari University of Lincoln, Inggris. Dia adalah pengembang perangkat lunak profesional, dan ketika dia tidak terbang drone atau menulis musik, dia sering ditemukan mengambil foto atau memproduksi video.