উত্তর:
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
পোস্টগ্র্রেস, মাইএসকিউএল সমর্থিত এএনএসআই ... একমাত্র সতর্কতা হ'ল এটি অগত্যা নেটিভ সিনট্যাক্সের মতো দ্রুত সঞ্চালন করে না।