I'm mencoba untuk menemukan cara untuk menggabungkan dua kolom menjadi satu, tapi tetap mendapatkan nilai '0' di kolom bukan untuk kombinasi kata-kata.
Ini adalah apa yang saya've mencoba serta lain:
SELECT column1 + column2 AS column3
FROM table;
SELECT column1 || column2 AS column3
FROM table;
SELECT column1 + ' ' + column2 AS column3
FROM table;
Bisa seseorang tolong beritahu saya tahu apa yang saya'm lakukan salah?
Dugaan saya adalah bahwa anda menggunakan MySQL mana +
operator melakukan itu, bersama dengan diam konversi dari nilai angka. Jika nilai tidak dimulai dengan digit, maka nilai yang dikonversi adalah 0
.
Jadi cobalah ini:
select concat(column1, column2)
Dua cara untuk menambahkan spasi:
select concat(column1, ' ', column2)
select concat_ws(' ', column1, column2)
Mencoba ini, itu bekerja untuk saya
select (column1 || ' '|| column2) from table;
Jika anda Bekerja Pada Oracle
Maka:
SELECT column1 || column2 AS column3
FROM table;
ATAU
Jika Anda Bekerja Pada MySql Maka:
SELECT Concat(column1 ,column2) AS column3
FROM table;
Untuk MySQL penggemar di luar sana, aku suka IFNULL()
fungsi. Jawaban yang lain di sini menunjukkan fungsi yang sama dengan ISNULL()
fungsi dalam beberapa implementasi. Dalam situasi saya, saya memiliki kolom deskripsi yang TIDAK NULL
, dan kolom nomor seri yang dapat menjadi NULL
Ini adalah cara saya menggabungkan mereka ke dalam satu kolom:
SELECT CONCAT(description,IFNULL(' SN: ', serial_number),'')) FROM my_table;
Hasil saya menyarankan bahwa hasil dari menggabungkan string dengan NULL
hasil NULL
. Saya telah mendapatkan nilai alternatif dalam kasus tersebut.
Saya telah menggunakan cara ini dan yang terbaik selamanya. Dalam hal ini kode null juga ditangani
SELECT Title,
FirstName,
lastName,
ISNULL(Title,'') + ' ' + ISNULL(FirstName,'') + ' ' + ISNULL(LastName,'') as FullName
FROM Customer
Coba ini...
convert(varchar, column_name1) + (varchar, column_name)