sql - SQL Server中IN运算符的使用方法

标签 sql sql-server

如何在 SQL Server 中使用 IN 运算符

这是表结构

Create Table Sample(Id INT,Name Varchar(50))

当我是这样的查询时,我可以获得值

Select * FROM Sample WHERE Id IN ('74','77','79','80')

当我执行上述查询时,我无法获取与该表相关的记录,因此执行此错误时出错。

DECLARE @s VARCHAR(MAX)

SET @s='74','77','79','80'

Select * FROM Sample WHERE Id IN (@s)

最佳答案

你用错了

使用如下方式

DECLARE @s VARCHAR(MAX)
DECLARE @d VARCHAR(MAX)

SET @s='74 , 77 , 79 , 80'

set @d = 'select * from arinvoice where arinvoiceid in('+@s+')'
exec (@d)

此处 IN 运算符使用整数集合而不是字符串集合..

关于sql - SQL Server中IN运算符的使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10241009/

相关文章:

sql-server - 尝试在 SQL Server 2012 中还原数据库时出错

mysql - 删除具有重复字段值的行

mysql - ER_WRONG_FIELD_WITH_GROUP : Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated

php - 连接 3 个表,mysql php

sql-server - 使用 dbml 将数据库值映射到 TimeSpan

java - Spring boot 中 SQL Server 的多种架构

sql - 如何使用 Oracle 数据库实现源代码控制自动化

SQL 外键数组引用非数组

sql - ORA-00933 与内部联接混淆和 "as"

mysql - 如何引用外键表来引用另一个表?