查询中的 SQL CASE - 奇怪的行为

标签 sql sql-server sql-server-2008

只要您想要匹配的唯一情况是字符串,在查询中使用 Case 语句似乎就可以正常工作。但是,如果您想放置“>”大于(日期或数字)等,SSMS 会自动在您的语句(下方)周围添加撇号,就好像它是一个字符串一样。

如何让它接受“大于日期”或“大于数字”等?

SSMS Adds ' around operators used in a CASE Statement in a Query

最佳答案

CASE expression有两种类型:

  • The simple CASE expression compares an expression to a set of simple expressions to determine the result.
  • The searched CASE expression evaluates a set of Boolean expressions to determine the result.

您需要一个searched CASE 表达式。这意味着 WHEN 应该立即出现在 CASE 关键字之后。

CASE WHEN SoldDate <= SubjectDate THEN ...

关于查询中的 SQL CASE - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7958828/

相关文章:

sql - 我可以添加一个列,该列的值是从连接表中计算出来的吗?

php - Symfony2 处理不在关系中的查询

sql - 当按另一个表的列分区时,如何使用 CTE 删除重复行?

sql-server - Transact-SQL/检查名称是否已存在

mysql - MY sql 查询查找 # 状态

java - Groovy SQL 导入错误。即使包含在内也找不到属性

sql-server - SQL Server/Azure DB - 添加 JOIN 只会使 180~ 行的查询速度减慢几秒

sql - sp_helptext 更改我的缩进

sql - 在 SQL Server 中连接 2 个数字

php - 如何在预订时屏蔽餐 table ?