এসকিউএল সার্ভারের ইসনুল () ফাংশনের সাথে ওরাকল সমতুল্য কী?


110

এসকিউএল সার্ভারে আমরা IsNull()ক্ষেত্রটি শূন্য কিনা তা নির্ধারণ করতে টাইপ করতে পারি । পিএল / এসকিউএল সমতুল্য কোন কার্যকারিতা আছে কি?

উত্তর:


131

coalesceউভয় ওরাকল এবং এসকিউএল সার্ভারে সমর্থিত এবং মূলত একই ফাংশনটি nvlএবং হিসাবে পরিবেশন করে isnull। (এখন পর্যন্ত, কিছু গুরুত্বপূর্ণ পার্থক্য আছে coalesceআর্গুমেন্ট একটি অবাধ সংখ্যা নিতে পারে, এবং প্রথম অ নাল এক ফেরৎ। জন্য রিটার্ন টাইপ isnullম্যাচ প্রথম আর্গুমেন্ট ধরণ, যে জন্য সত্য নয় coalesce, এসকিউএল সার্ভার উপর অন্তত।)


9
+1: COALESCEপোস্টগ্র্রেস, মাইএসকিউএল সমর্থিত এএনএসআই ... একমাত্র সতর্কতা হ'ল এটি অগত্যা নেটিভ সিনট্যাক্সের মতো দ্রুত সঞ্চালন করে না।
ওএমজি পনিস

17
+1 এর জন্য 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"
SherlockSpreadsheets

108

পরিবর্তে ISNULL(), ব্যবহার করুন NVL()

টি-এসকিউএল:

SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable

পিএল / SQL এর:

SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable

2
প্রশ্নের সুস্পষ্ট উত্তর দেয়।
গ্যারি হাকাবোন

31

NVL2নীচের হিসাবে ব্যবহার করুন যদি আপনি এর থেকে অন্য মানটি ফিরে আসতে চান field_to_check:

NVL2( field_to_check, value_if_NOT_null, value_if_null )

ব্যবহার: ORACLE / PLSQL: NVL2 ফাংশন


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