Saya mencoba menemukan cara untuk menggabungkan dua kolom menjadi satu, tetapi tetap mendapatkan nilai '0' di kolom tersebut alih-alih kombinasi kata-kata.
Ini adalah apa yang telah saya coba dan juga yang lainnya:
SELECT column1 + column2 AS column3
FROM table;
SELECT column1 || column2 AS column3
FROM table;
SELECT column1 + ' ' + column2 AS column3
FROM table;
Bisakah seseorang memberi tahu saya apa yang saya lakukan salah?
Jawaban:
Dugaan saya adalah bahwa Anda menggunakan MySQL di mana
+
operator melakukan penambahan, bersama dengan konversi nilai ke angka secara diam-diam. Jika suatu nilai tidak dimulai dengan digit, maka nilai yang dikonversi adalah0
.Jadi coba ini:
Dua cara untuk menambahkan spasi:
sumber
sql server 2005
dan itu memberi saya kesalahan sebagaiIncorrect syntax near ')'.
Coba ini, ini berhasil untuk saya
sumber
Ini bekerja untuk saya
sumber
Ini adalah satu-satunya solusi yang akan berhasil untuk saya, ketika saya membutuhkan spasi di antara kolom yang akan digabungkan.
sumber
Untuk penggemar MySQL di luar sana, saya suka
IFNULL()
fungsinya. Jawaban lain di sini menyarankan fungsionalitas serupa denganISNULL()
fungsi dalam beberapa implementasi. Dalam situasi saya, saya memiliki kolom deskripsi yang manaNOT NULL
, dan kolom nomor seri yang mungkin.NULL
Beginilah cara saya menggabungkannya menjadi satu kolom:Hasil saya menunjukkan bahwa hasil penggabungan string dengan
NULL
hasil di aNULL
. Saya telah mendapatkan nilai alternatif dalam kasus tersebut.sumber
Jika Anda Sedang Bekerja
Oracle
Kemudian:ATAU
Jika Anda Bekerja di MySql Kemudian:
sumber
Saya telah menggunakan cara ini dan itu yang terbaik selamanya. Dalam kode ini null juga ditangani
Coba ini...
sumber
sumber
sumber