【转】一道SQL SERVER DateTime的试题
2014-12-07 12:18
253 查看
学习过上一篇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了。
这也是在网上看到的,觉得有趣,就贴过来了。仅供大家学习。呵呵。
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了。
这也是在网上看到的,觉得有趣,就贴过来了。仅供大家学习。呵呵。
相关文章推荐
- 一道SQL SERVER DateTime的试题
- 一道C++试题的出题考虑和考后反思
- 一道试题
- sql server 中的 DateTime 数据类型
- 一道比较恶心的C语言的试题
- sql server日期时间(datetime)函数
- sql server 日期函数datetime应用
- Sql Server 2005 DATETIME和SMALLDATETIME两种日期时间类型的区别
- .Net FX 2.0 中文语言包 与 英文包 在 Sql Server 日期操作的 差异。[Conversion failed when converting datetime from character string.]
- sql server datetime 与char之间的装换
- 一道简单的机试题目引发的移位总结
- sql server使用convert来取得datetime日期数据
- SQL SERVER 中SmallDateTime与DateTime的区别
- sql server使用convert来取得datetime日期数据
- SQL Server中DateTime与DateTime2的区别
- SQL Server中DateTime与DateTime2的区别
- 第五届全国ITAT的一道决赛试题-我的解法
- 获取 SQL Server 中的 Datetime 类型的日期部分
- 更深层次分析一道试题——指针内存分配
- Sql Server 2005的datetime字段 在PHP中显示问题