【发布时间】:2013-08-20 19:44:54
【问题描述】:
我一直使用 MySQL Where In 来过滤单个字段的多个值。我正在寻找 SQL Server 的等价物。当我在 SS 上进行设置时,它会将每个项目视为我表中的一个字段,而不是我的字段中的一条记录。有谁知道等价物吗?谢谢!
MySQL:
SELECT quote_id,entity_id FROM customer.customer_id4
WHERE
quote_id IN ("00033658.0","00033361.0","00032971.0")
在 SS 中使用类似格式时出错:
Invalid column name '00033658.0'
Invalid column name '00033361.0'
Invalid column name '00032971.0'
【问题讨论】:
-
"用作对象分隔符而不是字符串分隔符。解决方案:WHERE quote_id IN ('00033658.0', ... -
如果这些是字符串,那么您应该在值周围使用单引号 --
'00033658.0','00033361.0','00032971.0'。双引号将它们解释为列名。 -
感谢大家的帮助。我在 Transact-SQL 中处理的不多。幸运的是,MySQL 没有那么敏感。
标签: mysql sql-server where