SQL WHERE IN CHARINDEX()使用

来源:互联网 发布:linux系统ping 编辑:程序博客网 时间:2024/05/26 19:14
CREATE TABLE [dbo].[UserInfo](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [nvarchar](50) NOT NULL,
[Password] [nvarchar](50) NOT NULL,
[Token] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED 
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SELECT * FROM UserInfo

--ID:是int类型,where in条件可以直接使用

SELECT * FROM UserInfo 

WHERE ID IN(2,4,6)


--UserName:是nvarchar类型,where in 替换成  CHARINDEX()  方法使用

SELECT * FROM UserInfo 

WHERE CHARINDEX(','+CAST(UserName as varchar)+',' , ','+'user1,user2,user3,user4'+',')>0

0 0