নিম্নলিখিত কোডের টুকরাটি 1900-01-01 এ ফিরে আসবে যখন ডিওবি ক্ষেত্রটি শূন্য থাকে। আমি চেয়েছিলাম (এবং প্রত্যাশিত) এটি একটি খালি স্ট্রিং ('') ফিরিয়ে দেবে তবে তা নয়। আমি আমার পছন্দসই ফলাফল পেতে কীভাবে এগিয়ে যেতে পারি?
isnull(convert(date,DOB,1),'')
নিম্নলিখিত কোডের টুকরাটি 1900-01-01 এ ফিরে আসবে যখন ডিওবি ক্ষেত্রটি শূন্য থাকে। আমি চেয়েছিলাম (এবং প্রত্যাশিত) এটি একটি খালি স্ট্রিং ('') ফিরিয়ে দেবে তবে তা নয়। আমি আমার পছন্দসই ফলাফল পেতে কীভাবে এগিয়ে যেতে পারি?
isnull(convert(date,DOB,1),'')
উত্তর:
আপনি একটি খালি স্ট্রিং পাবেন না কারণ আপনি যে জাতীয় DATE
মান থেকে ফিরে আসছেন ISNULL
।
প্রতি এমএসডিএন ,ISNULL
চেক_এক্সপ্রেশন হিসাবে একই ধরণের প্রত্যাবর্তন করে। যদি আক্ষরিক NULL টি চেক_প্রকাশ হিসাবে সরবরাহ করা হয় তবে প্রতিস্থাপন_মূল্যের ডেটাটাইপ প্রদান করে। যদি আক্ষরিক NULL যদি চেক_প্রকাশ হিসাবে সরবরাহ করা হয় এবং কোনও প্রতিস্থাপন_মূল্য সরবরাহ না করা হয় তবে একটি পূর্বাবস্থায় ফিরে আসে।
আপনি যদি মানটি কিনা তা যাচাই করে থাকেন NULL
, যদি না আপনি কোনও তারিখের মান (যা আপনাকে মনে হয় না) প্রত্যাবর্তন করতে না চান তবে এটিকে একটি তারিখে রূপান্তর করার দরকার নেই।
পরিবর্তে, ব্যবহার করুন:
SELECT ISNULL( DOB , '')
যা ফিরে আসবে
''
যদি মান হয় NULL
।
একটি NULL
তারিখ NULL
(কোনও মূল্য নেই)) অন্যদিকে, একটি খালি স্ট্রিং 0
এটিকে মূল্যায়ন করে , যা এসকিউএল সার্ভারে স্পষ্টতই একটি পূর্ণসংখ্যা যা দিনের সংখ্যা প্রতিনিধিত্ব করে 1900-01-01
।
আপনি যদি জনবহুল হয়ে ডিওবি-র কোনও মান ফেরত দেওয়ার সন্ধান করছেন এবং কোনও ডিওবি জনবহুল না হলে নাল মানটি সরিয়ে ফেলুন। আপনি এটি চেষ্টা করে দেখতে পারেন তবে ডিওবি হ'ল তারিখের ধরণের না হয়ে একটি বারচর হবে।
isnull(cast(cast(DOB as date)as varchar),'') as DOB (SQL SERVER)
VARCHAR
একটি থেকে DATE
এবং একটি ফিরে VARCHAR
কোন অর্থে দেখা যায় না। আপনি যখন সেই বাজে কথাটি সরিয়ে ফেলেন তখন আপনার উত্তরটি স্বল্প প্রতিক্রিয়াযুক্ত স্বীকৃত উত্তরের সমান।
datetime
এবং কেবলমাত্র তারিখের প্রয়োজন ছিল YYYY-MM-DD
। date
আমি সময় ড্রপ হিসাবে কাস্টিং দ্বারা তাই । তারপরে ফাংশনটি varchar
ব্যবহারের অনুমতি দেয় ing isnull
ালাই। সুতরাং আমি জনবহুল রেকর্ডগুলির জন্য এখনও একটি তারিখ পাই এবং নাল মানগুলি সরিয়ে ফেলি। অন্যথায়, আমি পেয়েছিলাম 1900-01-01 00:00:00.000
।
ব্যবহার
ইসনুল (রূপান্তর (বর্ণচর (500), তারিখ, 106), '') নির্বাচন করুন
ইহা কাজ করছে
NULL
খেজুর দিয়ে যা করছেন তা বলছেSELECT CAST('' AS DATE)
। ডেটা টাইপ কিDOB
?