Menyelesaikan masalah "Fungsi Concat tidak berfungsi - bilangan argumen tidak sah" Ralat
Apabila cuba menggabungkan berbilang nilai menggunakan fungsi CONCAT, anda mungkin menghadapi ralat "bilangan argumen tidak sah". Ini biasanya berlaku disebabkan oleh dua kesilapan biasa:
Pembatas Rentetan Salah:
Pastikan anda menggunakan petikan tunggal (') untuk membalut rentetan. Dalam kod anda, petikan berganda (") di sekeliling ungkapan subrentetan adalah tidak betul.
SELECT CONCAT(Name, '(' || SUBSTR(Occupation,1,1) || ')') FROM OCCUPATIONS;
Kiraan Argumen Melebihi:
Fungsi CONCAT menerima maksimum dua parameter Percubaan untuk menghantar lebih daripada dua argumen akan mengakibatkan ralat Untuk menggabungkan berbilang nilai, anda boleh menyarangkan berbilang CONCAT berfungsi atau gunakan operator penggabungan (||).
-- Using nested CONCAT SELECT CONCAT(CONCAT(Name, '('), SUBSTR(Occupation,1,1), ')') FROM OCCUPATIONS; -- Using concatenation operator SELECT Name || '(' || SUBSTR(Occupation,1,1) || ')' FROM OCCUPATIONS;
Penyelesaian Dibetulkan:
Kod yang diperbetulkan menggunakan operator penggabungan:
SELECT Name || '(' || SUBSTR(Occupation,1,1) || ')' FROM OCCUPATIONS;
Kod ini akan menggabungkan lajur Nama dan Pekerjaan dalam format yang diperlukan dan memaparkan keputusan tanpa sebarang kesilapan.
Atas ialah kandungan terperinci Mengapakah fungsi CONCAT saya mengembalikan ralat 'bilangan argumen tidak sah'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!