মাইএসকিউএল দুটি কলামকে একটি কলামে একত্রিত করে


106

আমি একটিতে দুটি কলাম একত্রিত করার উপায় খুঁজতে চেষ্টা করছি, তবে শব্দের সংমিশ্রণের পরিবর্তে কলামে '0' মান পেতে থাকি।

এগুলি আমি অন্যদের পাশাপাশি চেষ্টা করেছি:

SELECT column1 + column2 AS column3
FROM table;

SELECT column1 || column2 AS column3
FROM table;

SELECT column1 + ' ' + column2 AS column3
FROM table;

কেউ দয়া করে আমাকে জানাবেন যে আমি কী ভুল করছি?


1
আপনি কোন ডাটাবেস ব্যবহার করছেন? দুটি কলামের প্রকারগুলি কী কী?
গর্ডন লিনফ


: এই পরীক্ষা করে দেখুন stackoverflow.com/questions/6427764/...
চৌধুরী Saadmaan Mahmid

শীর্ষ উত্তরের সমাধানটি ব্যবহার করুন তবে একটি পাইপ যুক্ত করুন। কনক্যাট নির্বাচন করুন (কলাম 1, '|', কলাম 2)। এটি পরে এক্সেল করতে সহায়তা করে
কসমিক হক ১৯

উত্তর:


167

আমার অনুমান যে আপনি মাইএসকিউএল ব্যবহার করছেন যেখানে +অপারেটরটি সংখ্যার সাথে মানগুলির নিঃশব্দ রূপান্তর সহ সংযোজন করে। যদি মানটি কোনও অঙ্ক দিয়ে শুরু না হয় তবে রূপান্তরিত মান 0

সুতরাং এটি চেষ্টা করুন:

select concat(column1, column2)

একটি স্থান যুক্ত করার দুটি উপায়:

select concat(column1, ' ', column2)
select concat_ws(' ', column1, column2)

আমি ব্যবহার করছি sql server 2005এবং এটা আমার যেমন ত্রুটি দিচ্ছেনIncorrect syntax near ')'.
হুদ

5
@ কোডার । । এই প্রশ্নটিকে "মাইএসকিএল" ট্যাগ করা হয়েছে। আপনার যদি এসকিউএল সার্ভার সম্পর্কে কোনও প্রশ্ন থাকে, তবে এটি একটি প্রশ্ন হিসাবে জিজ্ঞাসা করুন, কোনও মন্তব্যে নয়।
গর্ডন লিনফ

পাশাপাশি টি-এসকিউএল, দুর্দান্ত এবং সাধারণ সমাধানের জন্য কাজ করে। দুটি কলামকে একটিতে হ্রাস করে।
রায়ান ব্যাটিস্টোন

23

এটি চেষ্টা করুন, এটি আমার পক্ষে কাজ করে

select (column1 || ' '|| column2) from table;

1
এটি ওরাকলের মতো দেখাচ্ছে।
কোবার্ন

এটি একাধিক (2 টিরও বেশি) কলামগুলিকে একত্রিত করার জন্য কাজ করেছে। ধন্যবা
Kayathiri

এসকিউএল স্ট্যান্ডার্ড দুটি স্ট্রিংকে একক স্ট্রিংয়ের সাথে সংযুক্ত করার জন্য কনক্যাট () ফাংশন সরবরাহ করে। এসকিউএলাইট তবে কনক্যাট () ফাংশন সমর্থন করে না। পরিবর্তে, এটি দুটি স্ট্রিংকে একটিতে যুক্ত করতে কনকেনেটেট অপারেটর (||) ব্যবহার করে।
পলএইচ


5

এই একমাত্র সমাধানটি আমার পক্ষে কাজ করবে, যখন আমার কলামগুলি মার্জ করার মধ্যে একটি স্থান প্রয়োজন।

select concat(concat(column1,' '), column2)

3

সেখানে মাইএসকিউএল অনুরাগীদের জন্য, আমি IFNULL()ফাংশনটি পছন্দ করি । অন্যান্য উত্তর এখানে ISNULL()কিছু বাস্তবায়নে ফাংশনটির সাথে অনুরূপ কার্যকারিতা প্রস্তাব করে । আমার পরিস্থিতিতে আমার কাছে বর্ণনার একটি কলাম রয়েছে NOT NULL, এবং ক্রমিক সংখ্যার একটি কলাম NULLএটি হতে পারে এটি আমি এগুলি এক কলামে সংযুক্ত করেছি:

SELECT CONCAT(description,IFNULL(' SN: ', serial_number),'')) FROM my_table;

আমার ফলাফলগুলি সুপারিশ করে যে ফলাফলগুলিতে স্ট্রিংকে যুক্ত করে NULLফলাফলগুলি এ NULL। আমি এই ক্ষেত্রে বিকল্প মান পাচ্ছি।


3

আপনি যদি Oracleতখন কাজ করে থাকেন :

SELECT column1 || column2 AS column3
FROM table;

অথবা

আপনি যদি মাই এসকিএল নিয়ে কাজ করে থাকেন তবে:

SELECT Concat(column1 ,column2) AS column3
FROM table;

1

আমি এইভাবে এবং এটি চিরকালের জন্য সেরা ব্যবহার করেছি। এই কোড নাল এছাড়াও হ্যান্ডেল

SELECT Title,
FirstName,
lastName, 
ISNULL(Title,'') + ' ' + ISNULL(FirstName,'') + ' ' + ISNULL(LastName,'') as FullName 
FROM Customer

এটা চেষ্টা কর...



আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.