首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL Server2012中,operator >+与>=有何不同

在SQL Server2012中,operator >+与>=有何不同
EN

Stack Overflow用户
提问于 2016-04-19 18:53:48
回答 2查看 146关注 0票数 7

今天完全是偶然的,我运行了一条SQL语句来按日期过滤一些项目,为了简单起见,我们就说我使用了

代码语言:javascript
复制
SELECT * 
FROM [TableName] 
WHERE [RecordCreated] >+ '2016-04-10'

直到语句运行后,我才意识到我使用的是>+而不是>=,现在我很困惑,因为我已经预料到会出现错误。

我尝试了一些其他的变体,比如

代码语言:javascript
复制
>- -- Throws an error
<+ -- Ran successfully
<- -- Throws an error

无论我使用>=还是>+,返回的行数都完全相同

在网上搜索后,我找不到任何直接介绍此语法的文档,只有在分开使用这两个操作符时才能找到。

RecordCreated列是一个datetime

这只是一个可能的常见错误的语法上的精确,还是潜在地试图将日期转换为数值?

EN

回答 2

Stack Overflow用户

发布于 2017-07-03 17:47:47

这似乎是“+”运算符的错误。

根据微软团队的更新,

经过一些调查后,这种行为是故意的,因为+是一个一元运算符。所以解析器接受"+“,在这种情况下'+‘被简单地忽略了。改变这个行为有很多向后兼容性的影响,所以我们不打算改变它&修复会给应用程序代码带来不必要的改变。

你可以找到RGO对他自己的问题here的一个非常好的答案。

票数 1
EN

Stack Overflow用户

发布于 2016-04-19 19:04:08

结果不应与">=“和"<=”匹配,而应与">“和"<”匹配。刚刚选中,且rowcound变化为2-第一项和最后一项被删除。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36716272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档