شرح صفوف ومحتوى الفقرة
لدمج عدة أعمدة نصية أو قيم ثابتة في عمود مخرجات واحد منسق، يوفر MySQL دالتين أساسيتين للدمج النصي:
- دالة
CONCAT(str1, str2, ...): تدمج النصوص متتالية، لكنها تحمل سلوكاً خطراً مع القيم الفارغة؛ فإذا كان أي مدخل واحداً يساويNULLتصبح النتيجة الكاملةNULL. - دالة
CONCAT_WS(separator, str1, str2, ...): تأخذ الفاصل النصي كأول معامل، وتتميز بأنها تتجاهل القيم الفارغةNULLتلقائياً وتكمل دمج بقية الحقول بأمان تام.
SQL
SELECT
customer_id,
CONCAT(first_name, ' ', last_name) AS full_name,
CONCAT_WS(' - ', city, district, postal_code) AS full_address
FROM customers
WHERE is_active = 1;