一道SQL SERVER DateTime的试题
学习过上一篇SQL SERVER DateTime精度的文章后。再来做一道题。
IF (‘2011-07-31 00:00:00.000‘ BETWEEN ‘2011-07-01‘ and ‘2011-07-31 ‘)
PRINT ‘Yes‘
ELSE
PRINT ‘No‘
结果是什么,如果你认为是Yes,那么你就上当了,哈哈。因为这不是两个日期类型在比较,这就是两个字符串在比较。
所以结果当然是NO。
如果要进行比日期比较,应该进行类型转换,如下比较:
IF (CAST(‘2011-07-31 00:00:00.000‘ AS DATETIME)
BETWEEN CAST(‘2011-07-01‘ AS DATETIME)
AND CAST(‘2011-07-31‘ AS DATETIME))
PRINT ‘Yes‘
ELSE
PRINT ‘No‘
这一结果就是Yes了。
这也是在网上看到的,觉得有趣,就贴过来了。仅供大家学习。呵呵。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。