উত্তর:
coalesceউভয় ওরাকল এবং এসকিউএল সার্ভারে সমর্থিত এবং মূলত একই ফাংশনটি nvlএবং হিসাবে পরিবেশন করে isnull। (এখন পর্যন্ত, কিছু গুরুত্বপূর্ণ পার্থক্য আছে coalesceআর্গুমেন্ট একটি অবাধ সংখ্যা নিতে পারে, এবং প্রথম অ নাল এক ফেরৎ। জন্য রিটার্ন টাইপ isnullম্যাচ প্রথম আর্গুমেন্ট ধরণ, যে জন্য সত্য নয় coalesce, এসকিউএল সার্ভার উপর অন্তত।)
COALESCE, যার একটি গুরুত্বপূর্ণ সুবিধা রয়েছে NVL: এটি শর্টকাট মূল্যায়ন করে, যেখানে NVLসর্বদা উভয় প্যারামিটারের মূল্যায়ন করে। COALESCE(1,my_expensive_function)সঙ্গে তুলনা করুন NVL(1,my_expensive_function)।
COALESE()ফাংশন মহান এবং আপনি এটি সম্পর্কে পড়তে পারেন MSDOC> একসঙ্গে বেড়ে ওঠা - এই একই বাক্য গঠন ওরাকল কাজ করে। আপনি ভালো কিছু প্রয়োজন হতে পারে আপনার ডেটা NULLs পরিবর্তে খালি স্ট্রিং থাকে: COALESCE(TRIM(Tbl.myField1), TRIM(Tbl.myField2)) AS "myNewField"।
পরিবর্তে ISNULL(), ব্যবহার করুন NVL()।
টি-এসকিউএল:
SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable
পিএল / SQL এর:
SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable
NVL2নীচের হিসাবে ব্যবহার করুন যদি আপনি এর থেকে অন্য মানটি ফিরে আসতে চান field_to_check:
NVL2( field_to_check, value_if_NOT_null, value_if_null )
ব্যবহার: ORACLE / PLSQL: NVL2 ফাংশন
আপনি শর্তটি ব্যবহার করতে পারেন if x is not null then...। এটি কোনও ফাংশন নয়। এখানে NVL()ফাংশনটিও রয়েছে, ব্যবহারের একটি ভাল উদাহরণ এখানে: এনভিএল ফাংশন রেফ ।
COALESCEপোস্টগ্র্রেস, মাইএসকিউএল সমর্থিত এএনএসআই ... একমাত্র সতর্কতা হ'ল এটি অগত্যা নেটিভ সিনট্যাক্সের মতো দ্রুত সঞ্চালন করে না।