আপনি CASE
কিছু ধরণের অভিব্যক্তি ব্যবহার করতে চান want
এসকিউএল সার্ভারে কোডটি দেখতে এমন হবে:
UPDATE TableName
SET gender = CASE WHEN gender = 'M' THEN 'W'
WHEN gender = 'W' THEN 'M'
ELSE gender END
সম্পাদনা: মন্তব্যগুলিতে যেমন বলা হয়েছে (এবং অন্যান্য উত্তরগুলির মধ্যে) ELSE প্রয়োজনীয় নয় যদি আপনি বিবৃতিতে একটি সম্পূর্ণ ধারা রাখেন।
UPDATE TableName
SET gender = CASE WHEN gender = 'M' THEN 'W'
WHEN gender = 'W' THEN 'M' END
WHERE gender IN ('M','W')
এটি অপ্রয়োজনীয় আপডেটগুলি এড়িয়ে চলে। উভয় ক্ষেত্রে গুরুত্বপূর্ণ বিষয়টি মনে রাখবেন যে এম অ্যান্ড ডাব্লু (উদাহরণস্বরূপ NULL) ব্যতীত অন্য বিকল্প রয়েছে এবং আপনি ভুল তথ্য রাখতে চান না। উদাহরণ স্বরূপ:
UPDATE TableName
SET gender = CASE WHEN gender = 'M' THEN 'W'
ELSE 'M' END
এটি কোনও NULL (বা অন্যান্য সম্ভাব্য লিঙ্গ) কে 'এম' হিসাবে প্রতিস্থাপন করবে যা ভুল হবে।
অন্য কয়েকটি বিকল্প হতে পারে
/*Simple form of CASE rather than Searched form*/
UPDATE TableName
SET gender = CASE gender
WHEN 'M' THEN 'W'
WHEN 'W' THEN 'M'
END
WHERE gender IN ( 'M', 'W' );
এবং আরও সংক্ষিপ্ত
/*For SQL Server 2012+*/
UPDATE TableName
SET gender = IIF(gender = 'M', 'W', 'M')
WHERE gender IN ( 'M', 'W' );