यहाँ के बीच मेरे कोड है: मेरी एसक्यूएल 2008 सर्वर उदाहरण पर अभी तकएसक्यूएल सर्वर 2008 समारोह
DECLARE @d1 DATETIME
DECLARE @d2 DATETIME
SET @d1 = '2015-01-01 00:00:00'
SET @d2 = '2015-12-31 23:59:59.999'
SELECT
CASE
WHEN ('2016-01-01 00:00:00' BETWEEN @d1 AND @d2)
THEN 'is between'
ELSE 'not between'
END AS BetweenOrNotBetween
तारीख मैं यहाँ की आपूर्ति 1 msec बाद मेंBETWEEN
समारोह की सीमा से अधिक है, , परिणाम है और नहीं 'के बीच है' उम्मीद 'के बीच नहीं' ...
यह एक बग है, या किसी कारण मुझे नहीं दिखाई दे रही है के लिए डिजाइन में एक आवश्यक समझौता है?
और हाँ, जैसे ही मैं 2016-01-01 के मध्यरात्रि से परे एक सेकेंड का एक अंश भी जोड़ता हूं, मुझे उम्मीद है कि ' परिणाम' के बीच नहीं है।
उसी डेटा को 'DATETIME2 (3) 'के साथ अपने डेटाटाइप के रूप में आज़माएं - और यह काम करेगा। एसक्यूएल सर्वर 2008 के रूप में, जब भी आप –