Rumah >pangkalan data >tutorial mysql >Mengapa Fungsi SQL CONCAT Saya Mengembalikan Ralat 'Bilangan Argumen Tidak Sah'?
Menyelesaikan masalah Fungsi CONCAT: Bilangan Argumen Tidak Sah
Dalam SQL, fungsi CONCAT digunakan untuk menggabungkan berbilang rentetan menjadi satu rentetan. Walau bagaimanapun, penggunaannya secara tidak wajar boleh menyebabkan ralat seperti "bilangan argumen tidak sah."
Pertimbangkan senario berikut: anda mempunyai jadual dengan dua lajur, "Nama" dan "Pekerjaan," dan anda ingin mengeluarkan nilai dalam format tertentu dengan huruf pertama pekerjaan dalam kurungan.
Pendekatan awal anda ialah:
SELECT CONCAT(Name,SUBSTR(Occupation,1,1)) FROM OCCUPATIONS;
Ini menggabungkan nama dan huruf pertama pekerjaan dengan betul. Walau bagaimanapun, apabila anda cuba menambah kurungan di sekelilingnya dengan:
SELECT CONCAT(Name,"(",SUBSTR(Occupation,1,1),")") FROM OCCUPATIONS;
Anda mengalami ralat "bilangan argumen tidak sah." Ini kerana CONCAT hanya boleh mengambil dua hujah, bukan empat.
Untuk membetulkannya, anda boleh menggunakan operator penggabungan || bukannya berbilang fungsi CONCAT:
SELECT Name || '(' || SUBSTR(Occupation,1,1) || ')' FROM OCCUPATIONS;
Ini menggabungkan nama, kurungan pembukaan, huruf pertama pekerjaan dan kurungan penutup dengan betul ke dalam format yang diingini.
Selain itu, anda perlu melampirkan rentetan dalam petikan tunggal (') dan bukannya petikan berganda (") apabila menggunakannya sebagai parameter untuk fungsi seperti SUBSTR. Petikan berganda digunakan untuk mengenal pasti pengecam (cth., nama jadual atau nama lajur).
Atas ialah kandungan terperinci Mengapa Fungsi SQL CONCAT Saya Mengembalikan Ralat 'Bilangan Argumen Tidak Sah'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!