উত্তর:
সেখানে কোনও আসল পার্থক্য নেই, তবে আপনি যখন DATETIME2
মানগুলি বা মানগুলি ফেরত দেয় এমন ফাংশনগুলি ব্যবহার শুরু করেন DATETIME2
, আপনি ত্রুটি পাবেন।
SELECT SYSDATETIME() - 1 AS [Incompatible]
এমএসজি 206, স্তর 16, রাজ্য 2, লাইন 17 অপেরাড ধরণের সংঘর্ষ: ডেটটাইম 2 সংখ্যার সাথে সামঞ্জস্যপূর্ণ নয়
এগুলির জন্য, আপনাকে তারিখ গণিতের ফাংশনগুলি ব্যবহার করতে হবে।
SELECT DATEADD(DAY, -1, SYSDATETIME()) AS [Compatible]
অ্যারন বার্ট্র্যান্ড তার বাজে অভ্যাস থেকে কিক সিরিজটিতে সংক্ষেপে এই বিষয়ে কথা বলেছেন speaks
অন্যান্য উত্তর এক দাবী পক্ষান্তরে উভয় অপশন আনুষ্ঠানিকভাবে সমর্থিত এবং নথিভুক্ত SQL সার্ভার দ্বারা: datetime - number
এটা না অনির্ধারিত আচরণ।
এর বড় সুবিধা
DATEADD(d, -2, GETUTCDATE())
এটি স্ব-ডকুমেন্টিংয়ের সত্য : এটির উদ্দেশ্য অবিলম্বে সুস্পষ্ট।
GETUTCDATE() - 2
অন্যদিকে, datetime - number
অপারেশনটির সংজ্ঞা জেনে পাঠকের উপর নির্ভর করে । হ্যাঁ, এটি বর্তমানে আইডোমেটিক টি-এসকিউএল হতে পারে তবে এটি যে আর আর সমর্থিত নয় তার থেকে datetime2
বোঝা যায় যে এসকিউএল সার্ভার বিকাশকারীদের ভবিষ্যতের প্রজন্ম আর এর সাথে পরিচিত হতে পারে না।
date
হয়েছিল। এটা কিছুটা অগোছালো।